<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>xilnvm: XilNvm eFUSE Server APIs</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">xilnvm
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;"
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__xnvm__efuse__server__apis.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">XilNvm eFUSE Server APIs</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gab8f5eff3de624d650309262ed9243b29"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gab8f5eff3de624d650309262ed9243b29">XNVM_EFUSE_ERROR_BYTE_SHIFT</a>&#160;&#160;&#160;(8U)</td></tr>
<tr class="memdesc:gab8f5eff3de624d650309262ed9243b29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte shift used in error code.  <a href="#gab8f5eff3de624d650309262ed9243b29">More...</a><br/></td></tr>
<tr class="separator:gab8f5eff3de624d650309262ed9243b29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba51a149137ee78fa0d298a6c79b80a1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaba51a149137ee78fa0d298a6c79b80a1">XNVM_EFUSE_ERROR_NIBBLE_SHIFT</a>&#160;&#160;&#160;(4U)</td></tr>
<tr class="memdesc:gaba51a149137ee78fa0d298a6c79b80a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Nibble shift used in error code.  <a href="#gaba51a149137ee78fa0d298a6c79b80a1">More...</a><br/></td></tr>
<tr class="separator:gaba51a149137ee78fa0d298a6c79b80a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga79f1a0c29e255f56430d6ef50d224b89"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga79f1a0c29e255f56430d6ef50d224b89">XNVM_EFUSE_MAX_FIPS_VERSION</a>&#160;&#160;&#160;(7U)</td></tr>
<tr class="memdesc:ga79f1a0c29e255f56430d6ef50d224b89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Max Value of FIPS version.  <a href="#ga79f1a0c29e255f56430d6ef50d224b89">More...</a><br/></td></tr>
<tr class="separator:ga79f1a0c29e255f56430d6ef50d224b89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf56f394f0bacd163dadfe4b8f5ec0b3b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaf56f394f0bacd163dadfe4b8f5ec0b3b">XNVM_EFUSE_MAX_FIPS_MODE</a>&#160;&#160;&#160;(0xFFU)</td></tr>
<tr class="memdesc:gaf56f394f0bacd163dadfe4b8f5ec0b3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Max value of FIPS mode.  <a href="#gaf56f394f0bacd163dadfe4b8f5ec0b3b">More...</a><br/></td></tr>
<tr class="separator:gaf56f394f0bacd163dadfe4b8f5ec0b3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga782be7b59f184a6e84c40983d956360f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga782be7b59f184a6e84c40983d956360f">XNVM_EFUSE_BITS_IN_A_BYTE</a>&#160;&#160;&#160;(8U)</td></tr>
<tr class="memdesc:ga782be7b59f184a6e84c40983d956360f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of bits in a byte.  <a href="#ga782be7b59f184a6e84c40983d956360f">More...</a><br/></td></tr>
<tr class="separator:ga782be7b59f184a6e84c40983d956360f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac098113c35ee3bd002d2ba7c1e7db74e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gac098113c35ee3bd002d2ba7c1e7db74e">XNVM_EFUSE_SEC_DEF_VAL_ALL_BIT_SET</a>&#160;&#160;&#160;(0xFFFFFFFFU)</td></tr>
<tr class="memdesc:gac098113c35ee3bd002d2ba7c1e7db74e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Secure Default Value for a register.  <a href="#gac098113c35ee3bd002d2ba7c1e7db74e">More...</a><br/></td></tr>
<tr class="separator:gac098113c35ee3bd002d2ba7c1e7db74e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga79094d41cbd663f1d3c46f72cd66f16c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga79094d41cbd663f1d3c46f72cd66f16c">XNVM_EFUSE_BYTE_MASK</a>&#160;&#160;&#160;(0xFF)</td></tr>
<tr class="memdesc:ga79094d41cbd663f1d3c46f72cd66f16c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for 8 bits.  <a href="#ga79094d41cbd663f1d3c46f72cd66f16c">More...</a><br/></td></tr>
<tr class="separator:ga79094d41cbd663f1d3c46f72cd66f16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ebc086461092546789c62ddbd362948"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga6ebc086461092546789c62ddbd362948">REVERSE_POLYNOMIAL</a>&#160;&#160;&#160;(0x82F63B78U)</td></tr>
<tr class="memdesc:ga6ebc086461092546789c62ddbd362948"><td class="mdescLeft">&#160;</td><td class="mdescRight">Value used in CRC calculation to reverse a polynomial.  <a href="#ga6ebc086461092546789c62ddbd362948">More...</a><br/></td></tr>
<tr class="separator:ga6ebc086461092546789c62ddbd362948"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga789eeeb22e890f0b72f2968e4368ffe7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga789eeeb22e890f0b72f2968e4368ffe7">XNVM_EFUSE_SKIP_VERIFY</a>&#160;&#160;&#160;(1U)</td></tr>
<tr class="memdesc:ga789eeeb22e890f0b72f2968e4368ffe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Skip verification of eFuses after programming.  <a href="#ga789eeeb22e890f0b72f2968e4368ffe7">More...</a><br/></td></tr>
<tr class="separator:ga789eeeb22e890f0b72f2968e4368ffe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a082358f66542e6dadc3c622b552870"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga9a082358f66542e6dadc3c622b552870">XNVM_EFUSE_PROGRAM_VERIFY</a>&#160;&#160;&#160;(0U)</td></tr>
<tr class="memdesc:ga9a082358f66542e6dadc3c622b552870"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify eFuses after programming.  <a href="#ga9a082358f66542e6dadc3c622b552870">More...</a><br/></td></tr>
<tr class="separator:ga9a082358f66542e6dadc3c622b552870"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4567e6d196d2e68e334bf94c42719b33"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga4567e6d196d2e68e334bf94c42719b33">XNVM_EFUSE_CRC_SALT</a>&#160;&#160;&#160;(0x000000FFU)</td></tr>
<tr class="memdesc:ga4567e6d196d2e68e334bf94c42719b33"><td class="mdescLeft">&#160;</td><td class="mdescRight">CRC salt value.  <a href="#ga4567e6d196d2e68e334bf94c42719b33">More...</a><br/></td></tr>
<tr class="separator:ga4567e6d196d2e68e334bf94c42719b33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ba241e36c252f80eb67d4f07c14c36a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga9ba241e36c252f80eb67d4f07c14c36a">XNVM_EFUSE_REVOKE_ID_127</a>&#160;&#160;&#160;(127U)</td></tr>
<tr class="memdesc:ga9ba241e36c252f80eb67d4f07c14c36a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Efuse revoke ID.  <a href="#ga9ba241e36c252f80eb67d4f07c14c36a">More...</a><br/></td></tr>
<tr class="separator:ga9ba241e36c252f80eb67d4f07c14c36a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66f5b9ce61387b401c6d89f84bf525c4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga66f5b9ce61387b401c6d89f84bf525c4">XNVM_EFUSE_PUF_SEC_CTRL_INVLD_MASK</a>&#160;&#160;&#160;0xE0000000U</td></tr>
<tr class="memdesc:ga66f5b9ce61387b401c6d89f84bf525c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for PUF control bits in PUF_ECC_PUF_CTRL register in EFUSE_CACHE module.  <a href="#ga66f5b9ce61387b401c6d89f84bf525c4">More...</a><br/></td></tr>
<tr class="separator:ga66f5b9ce61387b401c6d89f84bf525c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1bf9c13eec59cb17ab8da5976e4b58bb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga1bf9c13eec59cb17ab8da5976e4b58bb">XNVM_EFUSE_PUF_CTRL_PUF_REGEN_DIS_MASK</a>&#160;&#160;&#160;0x80000000U</td></tr>
<tr class="memdesc:ga1bf9c13eec59cb17ab8da5976e4b58bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for PUF_REGEN_DISABLE.  <a href="#ga1bf9c13eec59cb17ab8da5976e4b58bb">More...</a><br/></td></tr>
<tr class="separator:ga1bf9c13eec59cb17ab8da5976e4b58bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb1f07d8ce30f924e03be7eae6e6f50e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gacb1f07d8ce30f924e03be7eae6e6f50e">XNVM_EFUSE_PUF_CTRL_PUF_HD_INVLD_MASK</a>&#160;&#160;&#160;0x40000000U</td></tr>
<tr class="memdesc:gacb1f07d8ce30f924e03be7eae6e6f50e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for PUF_HD_INVLD.  <a href="#gacb1f07d8ce30f924e03be7eae6e6f50e">More...</a><br/></td></tr>
<tr class="separator:gacb1f07d8ce30f924e03be7eae6e6f50e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga58386dcea40091c3210dc2bdb40bd600"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga58386dcea40091c3210dc2bdb40bd600">XNVM_EFUSE_PUF_CTRL_PUF_REGIS_DIS_MASK</a>&#160;&#160;&#160;0x20000000U</td></tr>
<tr class="memdesc:ga58386dcea40091c3210dc2bdb40bd600"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for PUF_REGIS_DIS.  <a href="#ga58386dcea40091c3210dc2bdb40bd600">More...</a><br/></td></tr>
<tr class="separator:ga58386dcea40091c3210dc2bdb40bd600"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf187ef7b4bc3677f97c1d3d8c6ead746"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaf187ef7b4bc3677f97c1d3d8c6ead746">XNVM_EFUSE_DME_KEY_SIZE_IN_BYTES</a>&#160;&#160;&#160;(48U)</td></tr>
<tr class="memdesc:gaf187ef7b4bc3677f97c1d3d8c6ead746"><td class="mdescLeft">&#160;</td><td class="mdescRight">DME key size in bytes.  <a href="#gaf187ef7b4bc3677f97c1d3d8c6ead746">More...</a><br/></td></tr>
<tr class="separator:gaf187ef7b4bc3677f97c1d3d8c6ead746"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83280f37aceee2083f8b9f5cc12a0d6b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga83280f37aceee2083f8b9f5cc12a0d6b">XNVM_EFUSE_DME_0_USER_EFUSE_CACHE_OFFSET</a>&#160;&#160;&#160;(0x240U)</td></tr>
<tr class="memdesc:ga83280f37aceee2083f8b9f5cc12a0d6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">DME 0 corresponding User eFuse offset.  <a href="#ga83280f37aceee2083f8b9f5cc12a0d6b">More...</a><br/></td></tr>
<tr class="separator:ga83280f37aceee2083f8b9f5cc12a0d6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac731a59e35b5b89f0c3a34afb59719e5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gac731a59e35b5b89f0c3a34afb59719e5">XNVM_EFUSE_DME_1_USER_EFUSE_CACHE_OFFSET</a>&#160;&#160;&#160;(0x270U)</td></tr>
<tr class="memdesc:gac731a59e35b5b89f0c3a34afb59719e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">DME 1 corresponding User eFuse offset.  <a href="#gac731a59e35b5b89f0c3a34afb59719e5">More...</a><br/></td></tr>
<tr class="separator:gac731a59e35b5b89f0c3a34afb59719e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab6d8ddcc13401c7ad796e5a3719604c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gab6d8ddcc13401c7ad796e5a3719604c2">XNVM_EFUSE_DME_2_USER_EFUSE_CACHE_OFFSET</a>&#160;&#160;&#160;(0x2A0U)</td></tr>
<tr class="memdesc:gab6d8ddcc13401c7ad796e5a3719604c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">DME 2 corresponding User eFuse offset.  <a href="#gab6d8ddcc13401c7ad796e5a3719604c2">More...</a><br/></td></tr>
<tr class="separator:gab6d8ddcc13401c7ad796e5a3719604c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga743d2c9a7c90d322822e690a72a1f01d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga743d2c9a7c90d322822e690a72a1f01d">XNVM_EFUSE_DME_3_USER_EFUSE_CACHE_OFFSET</a>&#160;&#160;&#160;(0x2D0U)</td></tr>
<tr class="memdesc:ga743d2c9a7c90d322822e690a72a1f01d"><td class="mdescLeft">&#160;</td><td class="mdescRight">DME 3 corresponding User eFuse offset.  <a href="#ga743d2c9a7c90d322822e690a72a1f01d">More...</a><br/></td></tr>
<tr class="separator:ga743d2c9a7c90d322822e690a72a1f01d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0bd23dadad7c1a9cf86f61dc2002905"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaf0bd23dadad7c1a9cf86f61dc2002905">XNVM_EFUSE_PPK_HASH_UPPER_WORD_START_OFFSET</a>&#160;&#160;&#160;(8U)</td></tr>
<tr class="memdesc:gaf0bd23dadad7c1a9cf86f61dc2002905"><td class="mdescLeft">&#160;</td><td class="mdescRight">PPK HASH upper 128 bit hash start word offset.  <a href="#gaf0bd23dadad7c1a9cf86f61dc2002905">More...</a><br/></td></tr>
<tr class="separator:gaf0bd23dadad7c1a9cf86f61dc2002905"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37a8dc8c98a8f16f5dcf47c151d80bfe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga37a8dc8c98a8f16f5dcf47c151d80bfe">XNVM_EFUSE_LAST_ROW_IN_PAGE</a>&#160;&#160;&#160;(255U)</td></tr>
<tr class="memdesc:ga37a8dc8c98a8f16f5dcf47c151d80bfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Row number of last eFuse row in page.  <a href="#ga37a8dc8c98a8f16f5dcf47c151d80bfe">More...</a><br/></td></tr>
<tr class="separator:ga37a8dc8c98a8f16f5dcf47c151d80bfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab9b8b53dc6bdbacffe4308a678e43751"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gab9b8b53dc6bdbacffe4308a678e43751">XNVM_EFUSE_CACHE_ANLG_TRIM_0</a>&#160;&#160;&#160;(0xF1250004U)</td></tr>
<tr class="memdesc:gab9b8b53dc6bdbacffe4308a678e43751"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANLG_TRIM_0 eFuse cache offset.  <a href="#gab9b8b53dc6bdbacffe4308a678e43751">More...</a><br/></td></tr>
<tr class="separator:gab9b8b53dc6bdbacffe4308a678e43751"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga10613c481db3e29dc454280550b9ff10"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga10613c481db3e29dc454280550b9ff10">XNVM_EFUSE_CACHE_ANLG_TRIM_1</a>&#160;&#160;&#160;(0xF1250008U)</td></tr>
<tr class="memdesc:ga10613c481db3e29dc454280550b9ff10"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANLG_TRIM_1 eFuse cache offset.  <a href="#ga10613c481db3e29dc454280550b9ff10">More...</a><br/></td></tr>
<tr class="separator:ga10613c481db3e29dc454280550b9ff10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51bed690a372691a5c652747dc0fd283"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga51bed690a372691a5c652747dc0fd283">XNVM_EFUSE_CACHE_ANLG_TRIM_2</a>&#160;&#160;&#160;(0xF125000CU)</td></tr>
<tr class="memdesc:ga51bed690a372691a5c652747dc0fd283"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANLG_TRIM_2 eFuse cache offset.  <a href="#ga51bed690a372691a5c652747dc0fd283">More...</a><br/></td></tr>
<tr class="separator:ga51bed690a372691a5c652747dc0fd283"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadc26d3e2c8142a5e2676a7e6ab7c1db3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gadc26d3e2c8142a5e2676a7e6ab7c1db3">XNVM_EFUSE_CACHE_IP_DISABLE_1</a>&#160;&#160;&#160;(0xF125001CU)</td></tr>
<tr class="memdesc:gadc26d3e2c8142a5e2676a7e6ab7c1db3"><td class="mdescLeft">&#160;</td><td class="mdescRight">IP_DISABLE_1 eFuse cache offset.  <a href="#gadc26d3e2c8142a5e2676a7e6ab7c1db3">More...</a><br/></td></tr>
<tr class="separator:gadc26d3e2c8142a5e2676a7e6ab7c1db3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04cc2769b6f8497d96ebe2750e4c90db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga04cc2769b6f8497d96ebe2750e4c90db">XNVM_EFUSE_CACHE_DNA_0</a>&#160;&#160;&#160;(0xF1250020U)</td></tr>
<tr class="memdesc:ga04cc2769b6f8497d96ebe2750e4c90db"><td class="mdescLeft">&#160;</td><td class="mdescRight">DNA_0 eFuse cache offset.  <a href="#ga04cc2769b6f8497d96ebe2750e4c90db">More...</a><br/></td></tr>
<tr class="separator:ga04cc2769b6f8497d96ebe2750e4c90db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3223eacda844e7ecb3431a27e6564a73"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga3223eacda844e7ecb3431a27e6564a73">XNVM_EFUSE_CACHE_DNA_1</a>&#160;&#160;&#160;(0xF1250024U)</td></tr>
<tr class="memdesc:ga3223eacda844e7ecb3431a27e6564a73"><td class="mdescLeft">&#160;</td><td class="mdescRight">DNA_1 eFuse cache offset.  <a href="#ga3223eacda844e7ecb3431a27e6564a73">More...</a><br/></td></tr>
<tr class="separator:ga3223eacda844e7ecb3431a27e6564a73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga52c40e71d4549d670968a8ffc3e0e175"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga52c40e71d4549d670968a8ffc3e0e175">XNVM_EFUSE_CACHE_DNA_2</a>&#160;&#160;&#160;(0xF1250028U)</td></tr>
<tr class="memdesc:ga52c40e71d4549d670968a8ffc3e0e175"><td class="mdescLeft">&#160;</td><td class="mdescRight">DNA_2 eFuse cache offset.  <a href="#ga52c40e71d4549d670968a8ffc3e0e175">More...</a><br/></td></tr>
<tr class="separator:ga52c40e71d4549d670968a8ffc3e0e175"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga92dd8fc27f43548d9d2195fdbecbcb7b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga92dd8fc27f43548d9d2195fdbecbcb7b">XNVM_EFUSE_CACHE_DNA_3</a>&#160;&#160;&#160;(0xF125002CU)</td></tr>
<tr class="memdesc:ga92dd8fc27f43548d9d2195fdbecbcb7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">DNA_3 eFuse cache offset.  <a href="#ga92dd8fc27f43548d9d2195fdbecbcb7b">More...</a><br/></td></tr>
<tr class="separator:ga92dd8fc27f43548d9d2195fdbecbcb7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf148f97db98d174785db93847408cf40"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaf148f97db98d174785db93847408cf40">XNVM_EFUSE_CACHE_TRIM_BRAM</a>&#160;&#160;&#160;(0xF1250098U)</td></tr>
<tr class="memdesc:gaf148f97db98d174785db93847408cf40"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_BRAM eFuse cache offset.  <a href="#gaf148f97db98d174785db93847408cf40">More...</a><br/></td></tr>
<tr class="separator:gaf148f97db98d174785db93847408cf40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8854e6bd6cbc1de23560de47a4df7426"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga8854e6bd6cbc1de23560de47a4df7426">XNVM_EFUSE_CACHE_TRIM_URAM</a>&#160;&#160;&#160;(0xF125009CU)</td></tr>
<tr class="memdesc:ga8854e6bd6cbc1de23560de47a4df7426"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_URAM eFuse cache offset.  <a href="#ga8854e6bd6cbc1de23560de47a4df7426">More...</a><br/></td></tr>
<tr class="separator:ga8854e6bd6cbc1de23560de47a4df7426"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf99688618af3569a31547cd73147f529"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaf99688618af3569a31547cd73147f529">XNVM_EFUSE_CACHE_PMC_BISR_0</a>&#160;&#160;&#160;(0xF12500D8U)</td></tr>
<tr class="memdesc:gaf99688618af3569a31547cd73147f529"><td class="mdescLeft">&#160;</td><td class="mdescRight">PMC_BISR_0 eFuse cache offset.  <a href="#gaf99688618af3569a31547cd73147f529">More...</a><br/></td></tr>
<tr class="separator:gaf99688618af3569a31547cd73147f529"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa438ad48825f5deaf036f0c13b2c548d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaa438ad48825f5deaf036f0c13b2c548d">XNVM_EFUSE_CACHE_PMC_BISR_1</a>&#160;&#160;&#160;(0xF12500DCU)</td></tr>
<tr class="memdesc:gaa438ad48825f5deaf036f0c13b2c548d"><td class="mdescLeft">&#160;</td><td class="mdescRight">PMC_BISR_1 eFuse cache offset.  <a href="#gaa438ad48825f5deaf036f0c13b2c548d">More...</a><br/></td></tr>
<tr class="separator:gaa438ad48825f5deaf036f0c13b2c548d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62412c231dba2d1363729f61314c4f27"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga62412c231dba2d1363729f61314c4f27">XNVM_EFUSE_CACHE_ANLG_TRIM_5</a>&#160;&#160;&#160;(0xF12500E0U)</td></tr>
<tr class="memdesc:ga62412c231dba2d1363729f61314c4f27"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANLG_TRIM_5 eFuse cache offset.  <a href="#ga62412c231dba2d1363729f61314c4f27">More...</a><br/></td></tr>
<tr class="separator:ga62412c231dba2d1363729f61314c4f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7cff8b8c23b9cf438afe30d0d9fff76d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga7cff8b8c23b9cf438afe30d0d9fff76d">XNVM_EFUSE_CACHE_ANLG_TRIM_6</a>&#160;&#160;&#160;(0xF12500F4U)</td></tr>
<tr class="memdesc:ga7cff8b8c23b9cf438afe30d0d9fff76d"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANLG_TRIM_6 eFuse cache offset.  <a href="#ga7cff8b8c23b9cf438afe30d0d9fff76d">More...</a><br/></td></tr>
<tr class="separator:ga7cff8b8c23b9cf438afe30d0d9fff76d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37a6596cb53895b4e688a7762238da27"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga37a6596cb53895b4e688a7762238da27">XNVM_EFUSE_CACHE_ANLG_TRIM_7</a>&#160;&#160;&#160;(0xF12500F8U)</td></tr>
<tr class="memdesc:ga37a6596cb53895b4e688a7762238da27"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANLG_TRIM_7 eFuse cache offset.  <a href="#ga37a6596cb53895b4e688a7762238da27">More...</a><br/></td></tr>
<tr class="separator:ga37a6596cb53895b4e688a7762238da27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga90f798916c76e54b596814085d1bbd76"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga90f798916c76e54b596814085d1bbd76">XNVM_EFUSE_CACHE_ME_ID_CODE</a>&#160;&#160;&#160;(0xF12500FCU)</td></tr>
<tr class="memdesc:ga90f798916c76e54b596814085d1bbd76"><td class="mdescLeft">&#160;</td><td class="mdescRight">ME_ID_CODE eFuse cache offset.  <a href="#ga90f798916c76e54b596814085d1bbd76">More...</a><br/></td></tr>
<tr class="separator:ga90f798916c76e54b596814085d1bbd76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga943a44c7db50de0eb91c8050c3d5bd0c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga943a44c7db50de0eb91c8050c3d5bd0c">XNVM_EFUSE_CACHE_EXPORT_DFT</a>&#160;&#160;&#160;(0xF125018CU)</td></tr>
<tr class="memdesc:ga943a44c7db50de0eb91c8050c3d5bd0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">EXPORT_DFT eFuse cache offset.  <a href="#ga943a44c7db50de0eb91c8050c3d5bd0c">More...</a><br/></td></tr>
<tr class="separator:ga943a44c7db50de0eb91c8050c3d5bd0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4a332ae0c166172e39167461321d3896"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga4a332ae0c166172e39167461321d3896">XNVM_EFUSE_CACHE_TRIM_AMS_4</a>&#160;&#160;&#160;(0xF1250190U)</td></tr>
<tr class="memdesc:ga4a332ae0c166172e39167461321d3896"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_AMS_4 eFuse cache offset.  <a href="#ga4a332ae0c166172e39167461321d3896">More...</a><br/></td></tr>
<tr class="separator:ga4a332ae0c166172e39167461321d3896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ec5918cd5269d495465267017f499fe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga9ec5918cd5269d495465267017f499fe">XNVM_EFUSE_CACHE_TRIM_AMS_5</a>&#160;&#160;&#160;(0xF1250194U)</td></tr>
<tr class="memdesc:ga9ec5918cd5269d495465267017f499fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_AMS_5 eFuse cache offset.  <a href="#ga9ec5918cd5269d495465267017f499fe">More...</a><br/></td></tr>
<tr class="separator:ga9ec5918cd5269d495465267017f499fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d1b24b9be6abfed6da74b689a6f8b22"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga0d1b24b9be6abfed6da74b689a6f8b22">XNVM_EFUSE_CACHE_TRIM_AMS_6</a>&#160;&#160;&#160;(0xF1250198U)</td></tr>
<tr class="memdesc:ga0d1b24b9be6abfed6da74b689a6f8b22"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_AMS_6 eFuse cache offset.  <a href="#ga0d1b24b9be6abfed6da74b689a6f8b22">More...</a><br/></td></tr>
<tr class="separator:ga0d1b24b9be6abfed6da74b689a6f8b22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadc0e0f63f314c7cf7a76d1878b147072"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gadc0e0f63f314c7cf7a76d1878b147072">XNVM_EFUSE_CACHE_TRIM_AMS_7</a>&#160;&#160;&#160;(0xF125019CU)</td></tr>
<tr class="memdesc:gadc0e0f63f314c7cf7a76d1878b147072"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_AMS_7 eFuse cache offset.  <a href="#gadc0e0f63f314c7cf7a76d1878b147072">More...</a><br/></td></tr>
<tr class="separator:gadc0e0f63f314c7cf7a76d1878b147072"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6bc1ba9067df1cac2377caa02145ea1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gac6bc1ba9067df1cac2377caa02145ea1">XNVM_EFUSE_CACHE_TRIM_AMS_8</a>&#160;&#160;&#160;(0xF12501A0U)</td></tr>
<tr class="memdesc:gac6bc1ba9067df1cac2377caa02145ea1"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_AMS_8 eFuse cache offset.  <a href="#gac6bc1ba9067df1cac2377caa02145ea1">More...</a><br/></td></tr>
<tr class="separator:gac6bc1ba9067df1cac2377caa02145ea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66e27fb98cd697285d37fa2951bb0b25"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga66e27fb98cd697285d37fa2951bb0b25">XNVM_EFUSE_CACHE_TRIM_AMS_9</a>&#160;&#160;&#160;(0xF12501A4U)</td></tr>
<tr class="memdesc:ga66e27fb98cd697285d37fa2951bb0b25"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_AMS_9 eFuse cache offset.  <a href="#ga66e27fb98cd697285d37fa2951bb0b25">More...</a><br/></td></tr>
<tr class="separator:ga66e27fb98cd697285d37fa2951bb0b25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf02c93826c66f3bfe4badaa6489a0971"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaf02c93826c66f3bfe4badaa6489a0971">XNVM_EFUSE_CACHE_TRIM_AMS_10</a>&#160;&#160;&#160;(0xF12501A8U)</td></tr>
<tr class="memdesc:gaf02c93826c66f3bfe4badaa6489a0971"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_AMS_10 eFuse cache offset.  <a href="#gaf02c93826c66f3bfe4badaa6489a0971">More...</a><br/></td></tr>
<tr class="separator:gaf02c93826c66f3bfe4badaa6489a0971"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabaca83f550dc2bf8b1122fbe00a2ad2c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gabaca83f550dc2bf8b1122fbe00a2ad2c">XNVM_EFUSE_CACHE_TRIM_AMS_11</a>&#160;&#160;&#160;(0xF12501ACU)</td></tr>
<tr class="memdesc:gabaca83f550dc2bf8b1122fbe00a2ad2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_AMS_11 eFuse cache offset.  <a href="#gabaca83f550dc2bf8b1122fbe00a2ad2c">More...</a><br/></td></tr>
<tr class="separator:gabaca83f550dc2bf8b1122fbe00a2ad2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3827620eb0a70f63a1e4d54cf72a2813"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga3827620eb0a70f63a1e4d54cf72a2813">XNVM_EFUSE_CACHE_TRIM_AMS_12</a>&#160;&#160;&#160;(0xF12501B0U)</td></tr>
<tr class="memdesc:ga3827620eb0a70f63a1e4d54cf72a2813"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_AMS_12 eFuse cache offset.  <a href="#ga3827620eb0a70f63a1e4d54cf72a2813">More...</a><br/></td></tr>
<tr class="separator:ga3827620eb0a70f63a1e4d54cf72a2813"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6780734f9f3a4ca67451d29a0944bd6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gad6780734f9f3a4ca67451d29a0944bd6">XNVM_EFUSE_CACHE_TRIM_CFRM_VGG_0</a>&#160;&#160;&#160;(0xF12501B4U)</td></tr>
<tr class="memdesc:gad6780734f9f3a4ca67451d29a0944bd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_CFRM_VGG_0 eFuse cache offset.  <a href="#gad6780734f9f3a4ca67451d29a0944bd6">More...</a><br/></td></tr>
<tr class="separator:gad6780734f9f3a4ca67451d29a0944bd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf261c2d35a633bbc1238f772bee61bb8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaf261c2d35a633bbc1238f772bee61bb8">XNVM_EFUSE_CACHE_TRIM_CFRM_VGG_1</a>&#160;&#160;&#160;(0xF12501B8U)</td></tr>
<tr class="memdesc:gaf261c2d35a633bbc1238f772bee61bb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_CFRM_VGG_1 eFuse cache offset.  <a href="#gaf261c2d35a633bbc1238f772bee61bb8">More...</a><br/></td></tr>
<tr class="separator:gaf261c2d35a633bbc1238f772bee61bb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3dd26b15189a61482652cd208544f5cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga3dd26b15189a61482652cd208544f5cf">XNVM_EFUSE_CACHE_TRIM_CFRM_VGG_2</a>&#160;&#160;&#160;(0xF12501BCU)</td></tr>
<tr class="memdesc:ga3dd26b15189a61482652cd208544f5cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_CFRM_VGG_2 eFuse cache offset.  <a href="#ga3dd26b15189a61482652cd208544f5cf">More...</a><br/></td></tr>
<tr class="separator:ga3dd26b15189a61482652cd208544f5cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0478ab180bef5b09ebffac6607306cb9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga0478ab180bef5b09ebffac6607306cb9">XNVM_EFUSE_CACHE_TRIM_CRAM</a>&#160;&#160;&#160;(0xF12501C0U)</td></tr>
<tr class="memdesc:ga0478ab180bef5b09ebffac6607306cb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_CRAM eFuse cache offset.  <a href="#ga0478ab180bef5b09ebffac6607306cb9">More...</a><br/></td></tr>
<tr class="separator:ga0478ab180bef5b09ebffac6607306cb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d21dc25b97c99fe785c05b3c9555946"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga7d21dc25b97c99fe785c05b3c9555946">XNVM_EFUSE_CACHE_NIDB_0</a>&#160;&#160;&#160;(0xF12501C4U)</td></tr>
<tr class="memdesc:ga7d21dc25b97c99fe785c05b3c9555946"><td class="mdescLeft">&#160;</td><td class="mdescRight">NIDB_0 eFuse cache offset.  <a href="#ga7d21dc25b97c99fe785c05b3c9555946">More...</a><br/></td></tr>
<tr class="separator:ga7d21dc25b97c99fe785c05b3c9555946"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga478223bafaaa229b98461d510f0de6b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga478223bafaaa229b98461d510f0de6b8">XNVM_EFUSE_CACHE_NIDB_1</a>&#160;&#160;&#160;(0xF12501C8U)</td></tr>
<tr class="memdesc:ga478223bafaaa229b98461d510f0de6b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">NIDB_1 eFuse cache offset.  <a href="#ga478223bafaaa229b98461d510f0de6b8">More...</a><br/></td></tr>
<tr class="separator:ga478223bafaaa229b98461d510f0de6b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaacd965a394de77088744cd6ba2f6844f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaacd965a394de77088744cd6ba2f6844f">XNVM_EFUSE_CACHE_NIDB_2</a>&#160;&#160;&#160;(0xF12501CCU)</td></tr>
<tr class="memdesc:gaacd965a394de77088744cd6ba2f6844f"><td class="mdescLeft">&#160;</td><td class="mdescRight">NIDB_2 eFuse cache offset.  <a href="#gaacd965a394de77088744cd6ba2f6844f">More...</a><br/></td></tr>
<tr class="separator:gaacd965a394de77088744cd6ba2f6844f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2babd6a86386918a9b798c6706c668cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga2babd6a86386918a9b798c6706c668cc">XNVM_EFUSE_CACHE_TRIM_AMS_0</a>&#160;&#160;&#160;(0xF12501F4U)</td></tr>
<tr class="memdesc:ga2babd6a86386918a9b798c6706c668cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_AMS_0 eFuse cache offset.  <a href="#ga2babd6a86386918a9b798c6706c668cc">More...</a><br/></td></tr>
<tr class="separator:ga2babd6a86386918a9b798c6706c668cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf6d9f234b6141d15c58f7ea1349ffaa1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaf6d9f234b6141d15c58f7ea1349ffaa1">XNVM_EFUSE_CACHE_TRIM_AMS_1</a>&#160;&#160;&#160;(0xF12501F8U)</td></tr>
<tr class="memdesc:gaf6d9f234b6141d15c58f7ea1349ffaa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_AMS_1 eFuse cache offset.  <a href="#gaf6d9f234b6141d15c58f7ea1349ffaa1">More...</a><br/></td></tr>
<tr class="separator:gaf6d9f234b6141d15c58f7ea1349ffaa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d56c6cfe47bc25401cd6f1b2512b8d9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga6d56c6cfe47bc25401cd6f1b2512b8d9">XNVM_EFUSE_CACHE_TRIM_AMS_2</a>&#160;&#160;&#160;(0xF12501FCU)</td></tr>
<tr class="memdesc:ga6d56c6cfe47bc25401cd6f1b2512b8d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_AMS_2 eFuse cache offset.  <a href="#ga6d56c6cfe47bc25401cd6f1b2512b8d9">More...</a><br/></td></tr>
<tr class="separator:ga6d56c6cfe47bc25401cd6f1b2512b8d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab8af0059a14127ae8268d650d3c30f30"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gab8af0059a14127ae8268d650d3c30f30">XNVM_EFUSE_CACHE_TRIM_AMS_3</a>&#160;&#160;&#160;(0xF1250200U)</td></tr>
<tr class="memdesc:gab8af0059a14127ae8268d650d3c30f30"><td class="mdescLeft">&#160;</td><td class="mdescRight">TRIM_AMS_3 eFuse cache offset.  <a href="#gab8af0059a14127ae8268d650d3c30f30">More...</a><br/></td></tr>
<tr class="separator:gab8af0059a14127ae8268d650d3c30f30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09e17172559522ea1a970487b2f00594"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga09e17172559522ea1a970487b2f00594">XNVM_EFUSE_CACHE_ME_ID_CODE_3_0_MASK</a>&#160;&#160;&#160;(0x0000000FU)</td></tr>
<tr class="memdesc:ga09e17172559522ea1a970487b2f00594"><td class="mdescLeft">&#160;</td><td class="mdescRight">ME_ID_CODE_3_0_MASK.  <a href="#ga09e17172559522ea1a970487b2f00594">More...</a><br/></td></tr>
<tr class="separator:ga09e17172559522ea1a970487b2f00594"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6fd248450aabe5eed249a377d574dbf7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga6fd248450aabe5eed249a377d574dbf7">XNVM_CRC_DATA_WORD_COUNT</a>&#160;&#160;&#160;(37U)</td></tr>
<tr class="memdesc:ga6fd248450aabe5eed249a377d574dbf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">CRC DATA word count.  <a href="#ga6fd248450aabe5eed249a377d574dbf7">More...</a><br/></td></tr>
<tr class="separator:ga6fd248450aabe5eed249a377d574dbf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d61c56ef327291aa92e3139cf03d374"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga7d61c56ef327291aa92e3139cf03d374">XNVM_CRC_DATA_BYTE_COUNT</a>&#160;&#160;&#160;(<a class="el" href="group__xnvm__efuse__server__apis.html#ga6fd248450aabe5eed249a377d574dbf7">XNVM_CRC_DATA_WORD_COUNT</a> * <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>)</td></tr>
<tr class="memdesc:ga7d61c56ef327291aa92e3139cf03d374"><td class="mdescLeft">&#160;</td><td class="mdescRight">CRC data byte count.  <a href="#ga7d61c56ef327291aa92e3139cf03d374">More...</a><br/></td></tr>
<tr class="separator:ga7d61c56ef327291aa92e3139cf03d374"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga92376a9337883b186a9d6c888f7b7937"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga92376a9337883b186a9d6c888f7b7937">XNvm_EfuseCacheReload</a> (void)</td></tr>
<tr class="memdesc:ga92376a9337883b186a9d6c888f7b7937"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reloads the eFUSE cache, so that eFUSE values can be directly read from cache.  <a href="#ga92376a9337883b186a9d6c888f7b7937">More...</a><br/></td></tr>
<tr class="separator:ga92376a9337883b186a9d6c888f7b7937"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf62c488013d769df5cf16476d9dc04ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaf62c488013d769df5cf16476d9dc04ed">XNvm_EfuseDisablePowerDown</a> (void)</td></tr>
<tr class="memdesc:gaf62c488013d769df5cf16476d9dc04ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function disables power down of eFUSE macros.  <a href="#gaf62c488013d769df5cf16476d9dc04ed">More...</a><br/></td></tr>
<tr class="separator:gaf62c488013d769df5cf16476d9dc04ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab18b9343a842ff2c9d533625bd4ffe9a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gab18b9343a842ff2c9d533625bd4ffe9a">XNvm_EfuseSetReadMode</a> (<a class="el" href="group__xnvm__efuse__server__apis.html#ga626bd515d5b319991d9b6b337ac3eafa">XNvm_EfuseRdMode</a> RdMode)</td></tr>
<tr class="memdesc:gab18b9343a842ff2c9d533625bd4ffe9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets read mode of eFUSE controller.  <a href="#gab18b9343a842ff2c9d533625bd4ffe9a">More...</a><br/></td></tr>
<tr class="separator:gab18b9343a842ff2c9d533625bd4ffe9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab12034723a4823aa225ddf9500fc45e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gab12034723a4823aa225ddf9500fc45e7">XNvm_EfuseSetRefClk</a> (void)</td></tr>
<tr class="memdesc:gab12034723a4823aa225ddf9500fc45e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets reference clock of eFUSE controller.  <a href="#gab12034723a4823aa225ddf9500fc45e7">More...</a><br/></td></tr>
<tr class="separator:gab12034723a4823aa225ddf9500fc45e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0f509a4e6fbf01df3a0a5cf4e5b1920a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga0f509a4e6fbf01df3a0a5cf4e5b1920a">XNvm_EfuseEnableProgramming</a> (void)</td></tr>
<tr class="memdesc:ga0f509a4e6fbf01df3a0a5cf4e5b1920a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables programming mode of eFUSE controller.  <a href="#ga0f509a4e6fbf01df3a0a5cf4e5b1920a">More...</a><br/></td></tr>
<tr class="separator:ga0f509a4e6fbf01df3a0a5cf4e5b1920a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0210acfa1906f9a6d4c462ca0c214552"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga0210acfa1906f9a6d4c462ca0c214552">XNvm_EfuseDisableProgramming</a> (void)</td></tr>
<tr class="memdesc:ga0210acfa1906f9a6d4c462ca0c214552"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function disables programming mode of eFUSE controller.  <a href="#ga0210acfa1906f9a6d4c462ca0c214552">More...</a><br/></td></tr>
<tr class="separator:ga0210acfa1906f9a6d4c462ca0c214552"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf9884d1248299bbcab9c2eb75f3c12d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gadf9884d1248299bbcab9c2eb75f3c12d">XNvm_EfuseResetReadMode</a> (void)</td></tr>
<tr class="memdesc:gadf9884d1248299bbcab9c2eb75f3c12d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function disables Margin Read mode of eFUSE controller.  <a href="#gadf9884d1248299bbcab9c2eb75f3c12d">More...</a><br/></td></tr>
<tr class="separator:gadf9884d1248299bbcab9c2eb75f3c12d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga48684cc917830291d61d10ec465489e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga48684cc917830291d61d10ec465489e1">XNvm_EfuseInitTimers</a> (void)</td></tr>
<tr class="memdesc:ga48684cc917830291d61d10ec465489e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes eFUSE controller timers.  <a href="#ga48684cc917830291d61d10ec465489e1">More...</a><br/></td></tr>
<tr class="separator:ga48684cc917830291d61d10ec465489e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e019d9cd1db1fc71ae3b17f615eb8a3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController</a> (<a class="el" href="group__xnvm__efuse__server__apis.html#gaf5262e07dfefff15534093f7f3d24fde">XNvm_EfuseOpMode</a> Op, <a class="el" href="group__xnvm__efuse__server__apis.html#ga626bd515d5b319991d9b6b337ac3eafa">XNvm_EfuseRdMode</a> RdMode)</td></tr>
<tr class="memdesc:ga4e019d9cd1db1fc71ae3b17f615eb8a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function setups eFUSE controller for given operation and read mode.  <a href="#ga4e019d9cd1db1fc71ae3b17f615eb8a3">More...</a><br/></td></tr>
<tr class="separator:ga4e019d9cd1db1fc71ae3b17f615eb8a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34244e65ac073b03f29ee6a5672da34a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga34244e65ac073b03f29ee6a5672da34a">XNvm_EfuseCheckForTBits</a> (void)</td></tr>
<tr class="memdesc:ga34244e65ac073b03f29ee6a5672da34a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function checks whether Tbits are programmed or not.  <a href="#ga34244e65ac073b03f29ee6a5672da34a">More...</a><br/></td></tr>
<tr class="separator:ga34244e65ac073b03f29ee6a5672da34a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3c8a8519db111050a86072af33a7f9d"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gac3c8a8519db111050a86072af33a7f9d">XNvm_GetSysmonSupplyRegId</a> (UINTPTR SysmonpsvSatBaseAddr)</td></tr>
<tr class="memdesc:gac3c8a8519db111050a86072af33a7f9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reads root register ID where measurement is stored in Root SysMon.  <a href="#gac3c8a8519db111050a86072af33a7f9d">More...</a><br/></td></tr>
<tr class="separator:gac3c8a8519db111050a86072af33a7f9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf8c865ce6cd02be72da8d08eae8f6030"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks</a> (const XSysMonPsv *SysMonInstPtr)</td></tr>
<tr class="memdesc:gaf8c865ce6cd02be72da8d08eae8f6030"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs the Temparature and Voltage checks to ensure that they are in limits before eFuse programming.  <a href="#gaf8c865ce6cd02be72da8d08eae8f6030">More...</a><br/></td></tr>
<tr class="separator:gaf8c865ce6cd02be72da8d08eae8f6030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15d0a0989ba278e28edaaf2cd9d7bf7f"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga15d0a0989ba278e28edaaf2cd9d7bf7f">XNvm_EfuseReadProtectionBits</a> (u32 Mask)</td></tr>
<tr class="memdesc:ga15d0a0989ba278e28edaaf2cd9d7bf7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reads the corresponding eFuse protection bits.  <a href="#ga15d0a0989ba278e28edaaf2cd9d7bf7f">More...</a><br/></td></tr>
<tr class="separator:ga15d0a0989ba278e28edaaf2cd9d7bf7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace7f68b8a561aa12aed7ca066b9e28b2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gace7f68b8a561aa12aed7ca066b9e28b2">XNvm_EfuseWrite</a> (const <a class="el" href="struct_x_nvm___efuse_data.html">XNvm_EfuseData</a> *WriteNvm)</td></tr>
<tr class="memdesc:gace7f68b8a561aa12aed7ca066b9e28b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used as a wrapper to program below eFuses AES key User key 0 User key 1 PPK0/PPK1/PPK2/PPK3/PPK4 hash IVs Revocation Ids User Fuses Secure and Control bits.  <a href="#gace7f68b8a561aa12aed7ca066b9e28b2">More...</a><br/></td></tr>
<tr class="separator:gace7f68b8a561aa12aed7ca066b9e28b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0e51beac90b7d5fe2d18c9ef25bc2ea"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaf0e51beac90b7d5fe2d18c9ef25bc2ea">XNvm_EfuseReadSecCtrlBits</a> (XNvm_EfuseSecCtrlBits *SecCtrlBits)</td></tr>
<tr class="memdesc:gaf0e51beac90b7d5fe2d18c9ef25bc2ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to read the eFUSE secure control bits from cache.  <a href="#gaf0e51beac90b7d5fe2d18c9ef25bc2ea">More...</a><br/></td></tr>
<tr class="separator:gaf0e51beac90b7d5fe2d18c9ef25bc2ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac805987f2e5adffda160b2027ff46ed6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gac805987f2e5adffda160b2027ff46ed6">XNvm_EfuseReadSecMisc1Bits</a> (XNvm_EfuseSecMisc1Bits *SecMisc1Bits)</td></tr>
<tr class="memdesc:gac805987f2e5adffda160b2027ff46ed6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to read the security miscellaneous1 bits from cache.  <a href="#gac805987f2e5adffda160b2027ff46ed6">More...</a><br/></td></tr>
<tr class="separator:gac805987f2e5adffda160b2027ff46ed6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50174985a13b2facd6fd35fea6637f8c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga50174985a13b2facd6fd35fea6637f8c">XNvm_EfuseReadBootEnvCtrlBits</a> (XNvm_EfuseBootEnvCtrlBits *BootEnvCtrlBits)</td></tr>
<tr class="memdesc:ga50174985a13b2facd6fd35fea6637f8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reads the Boot Environmental Control bits from cache.  <a href="#ga50174985a13b2facd6fd35fea6637f8c">More...</a><br/></td></tr>
<tr class="separator:ga50174985a13b2facd6fd35fea6637f8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga420873a40f9a6f98373837d2fed08bb6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga420873a40f9a6f98373837d2fed08bb6">XNvm_EfuseWritePuf</a> (const <a class="el" href="struct_x_nvm___efuse_puf_hd.html">XNvm_EfusePufHd</a> *PufHelperData)</td></tr>
<tr class="memdesc:ga420873a40f9a6f98373837d2fed08bb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs the eFUSEs with the PUF helper data.  <a href="#ga420873a40f9a6f98373837d2fed08bb6">More...</a><br/></td></tr>
<tr class="separator:ga420873a40f9a6f98373837d2fed08bb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4632d36b5d828148cb6cdec52d6310ff"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga4632d36b5d828148cb6cdec52d6310ff">XNvm_EfuseReadPufSecCtrlBits</a> (XNvm_EfusePufSecCtrlBits *PufSecCtrlBits)</td></tr>
<tr class="memdesc:ga4632d36b5d828148cb6cdec52d6310ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to read the Puf eFUSE secure control bits from cache.  <a href="#ga4632d36b5d828148cb6cdec52d6310ff">More...</a><br/></td></tr>
<tr class="separator:ga4632d36b5d828148cb6cdec52d6310ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41a3f8903c46968528ef035b329fb58f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga41a3f8903c46968528ef035b329fb58f">XNvm_EfuseReadMiscCtrlBits</a> (XNvm_EfuseMiscCtrlBits *MiscCtrlBits)</td></tr>
<tr class="memdesc:ga41a3f8903c46968528ef035b329fb58f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to read the miscellaneous eFUSE control bits from cache.  <a href="#ga41a3f8903c46968528ef035b329fb58f">More...</a><br/></td></tr>
<tr class="separator:ga41a3f8903c46968528ef035b329fb58f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4751c17a98da016fea4e701d67d5154b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga4751c17a98da016fea4e701d67d5154b">XNvm_EfuseWriteIVs</a> (XNvm_EfuseIvs *EfuseIv, XSysMonPsv *SysMonInstPtr)</td></tr>
<tr class="memdesc:ga4751c17a98da016fea4e701d67d5154b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs the eFUSEs with the IV.  <a href="#ga4751c17a98da016fea4e701d67d5154b">More...</a><br/></td></tr>
<tr class="separator:ga4751c17a98da016fea4e701d67d5154b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac535d6758d3eccb3407e6d30acad999"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaac535d6758d3eccb3407e6d30acad999">XNvm_EfuseReadIv</a> (XNvm_Iv *EfuseIv, XNvm_IvType IvType)</td></tr>
<tr class="memdesc:gaac535d6758d3eccb3407e6d30acad999"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to read IV eFUSE bits from cache.  <a href="#gaac535d6758d3eccb3407e6d30acad999">More...</a><br/></td></tr>
<tr class="separator:gaac535d6758d3eccb3407e6d30acad999"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c0ae462f443cc003504d85d719d816f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga0c0ae462f443cc003504d85d719d816f">XNvm_EfuseReadPuf</a> (<a class="el" href="struct_x_nvm___efuse_puf_hd.html">XNvm_EfusePufHd</a> *PufHelperData)</td></tr>
<tr class="memdesc:ga0c0ae462f443cc003504d85d719d816f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reads the PUF helper data from eFUSE cache.  <a href="#ga0c0ae462f443cc003504d85d719d816f">More...</a><br/></td></tr>
<tr class="separator:ga0c0ae462f443cc003504d85d719d816f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe7f7c2ced18e824970eaa2c509d3263"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gafe7f7c2ced18e824970eaa2c509d3263">XNvm_EfuseReadDna</a> (XNvm_Dna *EfuseDna)</td></tr>
<tr class="memdesc:gafe7f7c2ced18e824970eaa2c509d3263"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to read Dna eFUSE bits from cache.  <a href="#gafe7f7c2ced18e824970eaa2c509d3263">More...</a><br/></td></tr>
<tr class="separator:gafe7f7c2ced18e824970eaa2c509d3263"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf25ea1ce6b8a6f3971b341861f66a4d6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaf25ea1ce6b8a6f3971b341861f66a4d6">XNvm_EfuseReadDecOnly</a> (u32 *DecOnly)</td></tr>
<tr class="memdesc:gaf25ea1ce6b8a6f3971b341861f66a4d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to read DecEfuseOnly eFUSE bits from cache.  <a href="#gaf25ea1ce6b8a6f3971b341861f66a4d6">More...</a><br/></td></tr>
<tr class="separator:gaf25ea1ce6b8a6f3971b341861f66a4d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa94fa3a1bbb5fcad4fc6a8c9822f55f0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaa94fa3a1bbb5fcad4fc6a8c9822f55f0">XNvm_EfuseReadPpkHash</a> (XNvm_PpkHash *EfusePpk, XNvm_PpkType PpkType)</td></tr>
<tr class="memdesc:gaa94fa3a1bbb5fcad4fc6a8c9822f55f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reads the Ppk Hash from eFUSE cache.  <a href="#gaa94fa3a1bbb5fcad4fc6a8c9822f55f0">More...</a><br/></td></tr>
<tr class="separator:gaa94fa3a1bbb5fcad4fc6a8c9822f55f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac25f8f0b2dc9d17535f36f547b398f5a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gac25f8f0b2dc9d17535f36f547b398f5a">XNvm_EfuseRevokePpk</a> (XNvm_PpkType PpkRevoke, XSysMonPsv *SysMonInstPtr)</td></tr>
<tr class="memdesc:gac25f8f0b2dc9d17535f36f547b398f5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function revokes the Ppk.  <a href="#gac25f8f0b2dc9d17535f36f547b398f5a">More...</a><br/></td></tr>
<tr class="separator:gac25f8f0b2dc9d17535f36f547b398f5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46bc38f1599f488fabc6c4fc499336e0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga46bc38f1599f488fabc6c4fc499336e0">XNvm_EfuseReadRevocationId</a> (u32 *RevokeFusePtr, XNvm_RevocationId RevokeFuseNum)</td></tr>
<tr class="memdesc:ga46bc38f1599f488fabc6c4fc499336e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reads the Revocation Fuse from eFUSE cache.  <a href="#ga46bc38f1599f488fabc6c4fc499336e0">More...</a><br/></td></tr>
<tr class="separator:ga46bc38f1599f488fabc6c4fc499336e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga475005d64d5d8d97dae539743f7793b9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga475005d64d5d8d97dae539743f7793b9">XNvm_EfuseWriteAesKey</a> (u32 EnvDisFlag, XNvm_AesKeyType KeyType, XNvm_AesKey *EfuseKey)</td></tr>
<tr class="memdesc:ga475005d64d5d8d97dae539743f7793b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to take care of prerequisites to program below eFuses AES key User key 0 User key 1.  <a href="#ga475005d64d5d8d97dae539743f7793b9">More...</a><br/></td></tr>
<tr class="separator:ga475005d64d5d8d97dae539743f7793b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5093d8298f30653879f3f0f3023029bd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga5093d8298f30653879f3f0f3023029bd">XNvm_EfuseWritePpkHash</a> (u32 EnvDisFlag, XNvm_PpkType PpkType, XNvm_PpkHash *EfuseHash)</td></tr>
<tr class="memdesc:ga5093d8298f30653879f3f0f3023029bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to to take care of prerequisitis to program below eFuses PPK0_HASH PPK1_HASH PPK2_HASH.  <a href="#ga5093d8298f30653879f3f0f3023029bd">More...</a><br/></td></tr>
<tr class="separator:ga5093d8298f30653879f3f0f3023029bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99b50ea3f231e5b81fd8d3e944daa3ff"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga99b50ea3f231e5b81fd8d3e944daa3ff">XNvm_EfuseWriteIv</a> (u32 EnvDisFlag, XNvm_IvType IvType, XNvm_Iv *EfuseIv)</td></tr>
<tr class="memdesc:ga99b50ea3f231e5b81fd8d3e944daa3ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to to take care of prerequisitis to program below IV eFuses XNVM_EFUSE_ERR_WRITE_META_HEADER_IV XNVM_EFUSE_ERR_WRITE_BLK_OBFUS_IV XNVM_EFUSE_ERR_WRITE_PLM_IV XNVM_EFUSE_ERR_WRITE_DATA_PARTITION_IV.  <a href="#ga99b50ea3f231e5b81fd8d3e944daa3ff">More...</a><br/></td></tr>
<tr class="separator:ga99b50ea3f231e5b81fd8d3e944daa3ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53da415156ffb127deaac7c1891a9a50"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga53da415156ffb127deaac7c1891a9a50">XNvm_EfuseWriteGlitchConfigBits</a> (u32 EnvDisFlag, u32 GlitchConfig)</td></tr>
<tr class="memdesc:ga53da415156ffb127deaac7c1891a9a50"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to program Glitch Configuration given by the user.  <a href="#ga53da415156ffb127deaac7c1891a9a50">More...</a><br/></td></tr>
<tr class="separator:ga53da415156ffb127deaac7c1891a9a50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37d5999c68b18d7cd4e95bb4fd9105d2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga37d5999c68b18d7cd4e95bb4fd9105d2">XNvm_EfuseWriteDecOnly</a> (u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga37d5999c68b18d7cd4e95bb4fd9105d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to program below DEC_ONLY fuses.  <a href="#ga37d5999c68b18d7cd4e95bb4fd9105d2">More...</a><br/></td></tr>
<tr class="separator:ga37d5999c68b18d7cd4e95bb4fd9105d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacdba7ab23e8c853bedc9896a4bd6de71"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gacdba7ab23e8c853bedc9896a4bd6de71">XNvm_EfuseWriteRevocationID</a> (u32 EnvDisFlag, u32 RevokeIdNum)</td></tr>
<tr class="memdesc:gacdba7ab23e8c853bedc9896a4bd6de71"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function writes Revocation eFuses.  <a href="#gacdba7ab23e8c853bedc9896a4bd6de71">More...</a><br/></td></tr>
<tr class="separator:gacdba7ab23e8c853bedc9896a4bd6de71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2126e9f3c76ffe698caf235573b1bf59"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga2126e9f3c76ffe698caf235573b1bf59">XNvm_EfuseWriteOffChipRevokeID</a> (u32 EnvDisFlag, u32 OffchipIdNum)</td></tr>
<tr class="memdesc:ga2126e9f3c76ffe698caf235573b1bf59"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs OffChip Revoke eFuses.  <a href="#ga2126e9f3c76ffe698caf235573b1bf59">More...</a><br/></td></tr>
<tr class="separator:ga2126e9f3c76ffe698caf235573b1bf59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e9c61a48bf95850aa3c9aec666c6264"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga8e9c61a48bf95850aa3c9aec666c6264">XNvm_EfuseWriteMiscCtrlBits</a> (u32 EnvDisFlag, u32 MiscCtrlBits)</td></tr>
<tr class="memdesc:ga8e9c61a48bf95850aa3c9aec666c6264"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs MiscCtrl eFuses.  <a href="#ga8e9c61a48bf95850aa3c9aec666c6264">More...</a><br/></td></tr>
<tr class="separator:ga8e9c61a48bf95850aa3c9aec666c6264"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga694dd3629494a12171684e87cd7c4b9f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga694dd3629494a12171684e87cd7c4b9f">XNvm_EfuseWriteSecCtrlBits</a> (u32 EnvDisFlag, u32 SecCtrlBits)</td></tr>
<tr class="memdesc:ga694dd3629494a12171684e87cd7c4b9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs SecCtrl eFuses.  <a href="#ga694dd3629494a12171684e87cd7c4b9f">More...</a><br/></td></tr>
<tr class="separator:ga694dd3629494a12171684e87cd7c4b9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga80edb4b2292a02831cafa2034a62707d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga80edb4b2292a02831cafa2034a62707d">XNvm_EfuseWriteMisc1Bits</a> (u32 EnvDisFlag, u32 Misc1Bits)</td></tr>
<tr class="memdesc:ga80edb4b2292a02831cafa2034a62707d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs Misc1Ctrl eFuses.  <a href="#ga80edb4b2292a02831cafa2034a62707d">More...</a><br/></td></tr>
<tr class="separator:ga80edb4b2292a02831cafa2034a62707d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6379fae3915b48ae864d0a62b03ccbfd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga6379fae3915b48ae864d0a62b03ccbfd">XNvm_EfuseWriteBootEnvCtrlBits</a> (u32 EnvDisFlag, u32 BootEnvCtrlBits)</td></tr>
<tr class="memdesc:ga6379fae3915b48ae864d0a62b03ccbfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs BootEnvCtrl eFuses.  <a href="#ga6379fae3915b48ae864d0a62b03ccbfd">More...</a><br/></td></tr>
<tr class="separator:ga6379fae3915b48ae864d0a62b03ccbfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b518b5753573d6f65ba1d15c94fce86"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga9b518b5753573d6f65ba1d15c94fce86">XNvm_EfuseWriteFipsInfo</a> (u32 EnvDisFlag, u32 FipsMode, u32 FipsVersion)</td></tr>
<tr class="memdesc:ga9b518b5753573d6f65ba1d15c94fce86"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to to take care of prerequisitis to program FIPS mode and FIPS version eFuses.  <a href="#ga9b518b5753573d6f65ba1d15c94fce86">More...</a><br/></td></tr>
<tr class="separator:ga9b518b5753573d6f65ba1d15c94fce86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e5e2abc14f75b9dc43d03284af58ade"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga9e5e2abc14f75b9dc43d03284af58ade">XNvm_EfuseWriteUds</a> (u32 EnvDisFlag, XNvm_Uds *EfuseUds)</td></tr>
<tr class="memdesc:ga9e5e2abc14f75b9dc43d03284af58ade"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs UDS eFuses.  <a href="#ga9e5e2abc14f75b9dc43d03284af58ade">More...</a><br/></td></tr>
<tr class="separator:ga9e5e2abc14f75b9dc43d03284af58ade"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c6a62d77c7a495ffaf45390f771dc65"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga6c6a62d77c7a495ffaf45390f771dc65">XNvm_EfuseWriteDmeUserKey</a> (u32 EnvDisFlag, XNvm_DmeKeyType KeyType, XNvm_DmeKey *EfuseKey)</td></tr>
<tr class="memdesc:ga6c6a62d77c7a495ffaf45390f771dc65"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs DME userkey eFuses.  <a href="#ga6c6a62d77c7a495ffaf45390f771dc65">More...</a><br/></td></tr>
<tr class="separator:ga6c6a62d77c7a495ffaf45390f771dc65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade3b92169c879227c5c323aad3916c27"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gade3b92169c879227c5c323aad3916c27">XNvm_EfuseWriteDmeRevoke</a> (u32 EnvDisFlag, XNvm_DmeRevoke RevokeNum)</td></tr>
<tr class="memdesc:gade3b92169c879227c5c323aad3916c27"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs DME Revoke eFuses.  <a href="#gade3b92169c879227c5c323aad3916c27">More...</a><br/></td></tr>
<tr class="separator:gade3b92169c879227c5c323aad3916c27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga10e7c8ba2f592b3cbd00323d300c1314"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga10e7c8ba2f592b3cbd00323d300c1314">XNvm_EfuseWriteDisableInplacePlmUpdate</a> (u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga10e7c8ba2f592b3cbd00323d300c1314"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs PLM_UPDATE eFuse.  <a href="#ga10e7c8ba2f592b3cbd00323d300c1314">More...</a><br/></td></tr>
<tr class="separator:ga10e7c8ba2f592b3cbd00323d300c1314"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c5ab114e31ea08f87ba33432d6d058e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga6c5ab114e31ea08f87ba33432d6d058e">XNvm_EfuseWriteBootModeDisable</a> (u32 EnvDisFlag, u32 BootModeMask)</td></tr>
<tr class="memdesc:ga6c5ab114e31ea08f87ba33432d6d058e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs BootModeDisable eFuses.  <a href="#ga6c5ab114e31ea08f87ba33432d6d058e">More...</a><br/></td></tr>
<tr class="separator:ga6c5ab114e31ea08f87ba33432d6d058e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6dfbc852d469426a27978a41ef8b8676"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga6dfbc852d469426a27978a41ef8b8676">XNvm_EfuseWriteDmeMode</a> (u32 EnvDisFlag, u32 DmeMode)</td></tr>
<tr class="memdesc:ga6dfbc852d469426a27978a41ef8b8676"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs DmeMode eFuses.  <a href="#ga6dfbc852d469426a27978a41ef8b8676">More...</a><br/></td></tr>
<tr class="separator:ga6dfbc852d469426a27978a41ef8b8676"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade779f5fb0d828586ba86b87492c0e50"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gade779f5fb0d828586ba86b87492c0e50">XNvm_EfuseWriteCrc</a> (u32 EnvDisFlag, u32 Crc)</td></tr>
<tr class="memdesc:gade779f5fb0d828586ba86b87492c0e50"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs EFUSE_CRC_SALT eFuses.  <a href="#gade779f5fb0d828586ba86b87492c0e50">More...</a><br/></td></tr>
<tr class="separator:gade779f5fb0d828586ba86b87492c0e50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e5b32d4a7ec60464f46788458b5e67f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga3e5b32d4a7ec60464f46788458b5e67f">XNvm_EfuseWritePuf</a> (const <a class="el" href="struct_x_nvm___efuse_puf_hd_addr.html">XNvm_EfusePufHdAddr</a> *PufHelperData)</td></tr>
<tr class="memdesc:ga3e5b32d4a7ec60464f46788458b5e67f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs PUF ctrl and PUF helper data, Chash and Aux.  <a href="#ga3e5b32d4a7ec60464f46788458b5e67f">More...</a><br/></td></tr>
<tr class="separator:ga3e5b32d4a7ec60464f46788458b5e67f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6d13e9abcbed3286ccda15361a4168a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gac6d13e9abcbed3286ccda15361a4168a">XNvm_EfuseWritePufSecCtrl</a> (u32 EnvDisFlag, u32 PufCtrlBits)</td></tr>
<tr class="memdesc:gac6d13e9abcbed3286ccda15361a4168a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs Puf control bits specified by user.  <a href="#gac6d13e9abcbed3286ccda15361a4168a">More...</a><br/></td></tr>
<tr class="separator:gac6d13e9abcbed3286ccda15361a4168a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1180dbb45b4f670e0e34633c8f8eec65"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga1180dbb45b4f670e0e34633c8f8eec65">XNvm_EfuseCacheLoadNPrgmProtectionBits</a> (void)</td></tr>
<tr class="memdesc:ga1180dbb45b4f670e0e34633c8f8eec65"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reloads the cache of eFUSE so that can be directly read from cache and programs required protections eFuses.  <a href="#ga1180dbb45b4f670e0e34633c8f8eec65">More...</a><br/></td></tr>
<tr class="separator:ga1180dbb45b4f670e0e34633c8f8eec65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga128ed057d23449dc1229ae0371bdbfc7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga128ed057d23449dc1229ae0371bdbfc7">XNvm_EfuseWriteRomRsvdBits</a> (u32 EnvDisFlag, u32 RomRsvdBits)</td></tr>
<tr class="memdesc:ga128ed057d23449dc1229ae0371bdbfc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function programs ROM Rsvd Bits eFuses.  <a href="#ga128ed057d23449dc1229ae0371bdbfc7">More...</a><br/></td></tr>
<tr class="separator:ga128ed057d23449dc1229ae0371bdbfc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:gabc08be527304a3abd02f49e411c2dee9"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gabc08be527304a3abd02f49e411c2dee9">XNvm_EfusePrgmInfo::StartRow</a></td></tr>
<tr class="memdesc:gabc08be527304a3abd02f49e411c2dee9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start row number of eFuse.  <a href="#gabc08be527304a3abd02f49e411c2dee9">More...</a><br/></td></tr>
<tr class="separator:gabc08be527304a3abd02f49e411c2dee9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafc6cc9c3e733a22e50aef708dca1607b"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gafc6cc9c3e733a22e50aef708dca1607b">XNvm_EfusePrgmInfo::ColStart</a></td></tr>
<tr class="memdesc:gafc6cc9c3e733a22e50aef708dca1607b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start column number of eFuse.  <a href="#gafc6cc9c3e733a22e50aef708dca1607b">More...</a><br/></td></tr>
<tr class="separator:gafc6cc9c3e733a22e50aef708dca1607b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab4af75acb4eb6ea72944e7a099adf4bf"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gab4af75acb4eb6ea72944e7a099adf4bf">XNvm_EfusePrgmInfo::ColEnd</a></td></tr>
<tr class="memdesc:gab4af75acb4eb6ea72944e7a099adf4bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">End column number of eFuse.  <a href="#gab4af75acb4eb6ea72944e7a099adf4bf">More...</a><br/></td></tr>
<tr class="separator:gab4af75acb4eb6ea72944e7a099adf4bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga257cabf7f1cf9b214c71857d8c7cc62b"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga257cabf7f1cf9b214c71857d8c7cc62b">XNvm_EfusePrgmInfo::NumOfRows</a></td></tr>
<tr class="memdesc:ga257cabf7f1cf9b214c71857d8c7cc62b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of rows of eFuse.  <a href="#ga257cabf7f1cf9b214c71857d8c7cc62b">More...</a><br/></td></tr>
<tr class="separator:ga257cabf7f1cf9b214c71857d8c7cc62b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaedd98d5cf2455d9977bf91b949486f5d"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaedd98d5cf2455d9977bf91b949486f5d">XNvm_EfusePrgmInfo::SkipVerify</a></td></tr>
<tr class="memdesc:gaedd98d5cf2455d9977bf91b949486f5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag to check if eFuse bit should be verified after programming.  <a href="#gaedd98d5cf2455d9977bf91b949486f5d">More...</a><br/></td></tr>
<tr class="separator:gaedd98d5cf2455d9977bf91b949486f5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga984eb1f8a2c7387d35fc43cd47d37f78"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__xnvm__efuse__server__apis.html#ga545e370d65dd5455a7292c721c9bd578">XNvm_EfuseType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga984eb1f8a2c7387d35fc43cd47d37f78">XNvm_EfusePrgmInfo::EfuseType</a></td></tr>
<tr class="memdesc:ga984eb1f8a2c7387d35fc43cd47d37f78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Efuse page number.  <a href="#ga984eb1f8a2c7387d35fc43cd47d37f78">More...</a><br/></td></tr>
<tr class="separator:ga984eb1f8a2c7387d35fc43cd47d37f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
eFuse ctrls constants</h2></td></tr>
<tr class="memitem:ga9afb36a9e0e49a9cac6a60b94df16a3c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga9afb36a9e0e49a9cac6a60b94df16a3c">XNVM_EFUSE_CTRL_WR_LOCKED</a>&#160;&#160;&#160;(0x01U)</td></tr>
<tr class="memdesc:ga9afb36a9e0e49a9cac6a60b94df16a3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; Macros for eFUSE CTRL WRITE LOCKED and UNLOCKED  <a href="#ga9afb36a9e0e49a9cac6a60b94df16a3c">More...</a><br/></td></tr>
<tr class="separator:ga9afb36a9e0e49a9cac6a60b94df16a3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3846194d9f254196d99b9001cc2c1297"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3846194d9f254196d99b9001cc2c1297"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XNVM_EFUSE_CTRL_WR_UNLOCKED</b>&#160;&#160;&#160;(0x00U)</td></tr>
<tr class="separator:ga3846194d9f254196d99b9001cc2c1297"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa1c079b48271f7e1107d847b85f94b2b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaa1c079b48271f7e1107d847b85f94b2b">XNVM_EFUSE_FULL_RANGE_TEMP_MIN</a>&#160;&#160;&#160;(-55.0f)</td></tr>
<tr class="memdesc:gaa1c079b48271f7e1107d847b85f94b2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Temaperature limits defination for versal Efuses.  <a href="#gaa1c079b48271f7e1107d847b85f94b2b">More...</a><br/></td></tr>
<tr class="separator:gaa1c079b48271f7e1107d847b85f94b2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64005a005c1e61fcd7a7b47625810b9d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga64005a005c1e61fcd7a7b47625810b9d">XNVM_EFUSE_TEMP_HP_MAX</a>&#160;&#160;&#160;(125.0f)</td></tr>
<tr class="memdesc:ga64005a005c1e61fcd7a7b47625810b9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">eFuse Range check definations  <a href="#ga64005a005c1e61fcd7a7b47625810b9d">More...</a><br/></td></tr>
<tr class="separator:ga64005a005c1e61fcd7a7b47625810b9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa2142f51fe8a59ad589023dbce7463a7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaa2142f51fe8a59ad589023dbce7463a7">XNVM_EFUSE_HP_RANGE_CHECK</a>&#160;&#160;&#160;(3U)</td></tr>
<tr class="memdesc:gaa2142f51fe8a59ad589023dbce7463a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">eFuse volatage limits definations  <a href="#gaa2142f51fe8a59ad589023dbce7463a7">More...</a><br/></td></tr>
<tr class="separator:gaa2142f51fe8a59ad589023dbce7463a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9ba1c4865a9f5c3ccaf3fc2c9e4dad9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gad9ba1c4865a9f5c3ccaf3fc2c9e4dad9">XNVM_EFUSE_PROTECTION_BIT_CLEAR</a>&#160;&#160;&#160;(0U)</td></tr>
<tr class="memdesc:gad9ba1c4865a9f5c3ccaf3fc2c9e4dad9"><td class="mdescLeft">&#160;</td><td class="mdescRight">To check the corresponding protection eFuse is set or not.  <a href="#gad9ba1c4865a9f5c3ccaf3fc2c9e4dad9">More...</a><br/></td></tr>
<tr class="separator:gad9ba1c4865a9f5c3ccaf3fc2c9e4dad9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Operation mode</h2></td></tr>
<tr class="memitem:gaf5262e07dfefff15534093f7f3d24fde"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaf5262e07dfefff15534093f7f3d24fde">XNvm_EfuseOpMode</a> { <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea45f51f9dc7365809c3e52c2c265a1ce6">XNVM_EFUSE_MODE_RD</a>,
<a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>,
<a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea45f51f9dc7365809c3e52c2c265a1ce6">XNVM_EFUSE_MODE_RD</a>,
<a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>
 }</td></tr>
<tr class="separator:gaf5262e07dfefff15534093f7f3d24fde"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Read mode</h2></td></tr>
<tr class="memitem:ga626bd515d5b319991d9b6b337ac3eafa"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga626bd515d5b319991d9b6b337ac3eafa">XNvm_EfuseRdMode</a> { <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa2ac2cd53fea8c1c9ffa24c30ce760244">XNVM_EFUSE_NORMAL_RD</a>,
<a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>,
<a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa2ac2cd53fea8c1c9ffa24c30ce760244">XNVM_EFUSE_NORMAL_RD</a>,
<a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>
 }</td></tr>
<tr class="separator:ga626bd515d5b319991d9b6b337ac3eafa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
eFuse Page</h2></td></tr>
<tr class="memitem:ga545e370d65dd5455a7292c721c9bd578"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga545e370d65dd5455a7292c721c9bd578">XNvm_EfuseType</a> { <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a> = 0,
<a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a93b3ce45e3bed96a04dd25fd7267d3ee">XNVM_EFUSE_PAGE_1</a>,
<a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578af42a55e305604ef7abe0da7829d74b0c">XNVM_EFUSE_PAGE_2</a>
 }</td></tr>
<tr class="separator:ga545e370d65dd5455a7292c721c9bd578"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
eFuse macro definitions</h2></td></tr>
<tr class="memitem:gae90a96afb82790626728eb3e7b0f8c41"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gae90a96afb82790626728eb3e7b0f8c41">XNVM_EFUSE_CRC_AES_ZEROS</a>&#160;&#160;&#160;(0x6858A3D5U)</td></tr>
<tr class="memdesc:gae90a96afb82790626728eb3e7b0f8c41"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; CRC for Aes zero key  <a href="#gae90a96afb82790626728eb3e7b0f8c41">More...</a><br/></td></tr>
<tr class="separator:gae90a96afb82790626728eb3e7b0f8c41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga275db079af1fd172b9939cc10053a135"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga275db079af1fd172b9939cc10053a135">XNVM_EFUSE_TOTAL_NUM_OF_ROWS</a>&#160;&#160;&#160;(768U)</td></tr>
<tr class="memdesc:ga275db079af1fd172b9939cc10053a135"><td class="mdescLeft">&#160;</td><td class="mdescRight">PPK hash number of eFuse rows.  <a href="#ga275db079af1fd172b9939cc10053a135">More...</a><br/></td></tr>
<tr class="separator:ga275db079af1fd172b9939cc10053a135"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga304d7fadfa39830e9cc0cfd70acce076"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga304d7fadfa39830e9cc0cfd70acce076">XNVM_EFUSE_TOTAL_PPK_HASH_ROWS</a>&#160;&#160;&#160;(XNVM_EFUSE_PPK_HASH_NUM_OF_ROWS * 3U)</td></tr>
<tr class="memdesc:ga304d7fadfa39830e9cc0cfd70acce076"><td class="mdescLeft">&#160;</td><td class="mdescRight">eFuse word length  <a href="#ga304d7fadfa39830e9cc0cfd70acce076">More...</a><br/></td></tr>
<tr class="separator:ga304d7fadfa39830e9cc0cfd70acce076"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga187d1e419e66b1ba10a3a73debd9904d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga187d1e419e66b1ba10a3a73debd9904d">XNVM_EFUSE_WORD_LEN</a>&#160;&#160;&#160;(4U)</td></tr>
<tr class="memdesc:ga187d1e419e66b1ba10a3a73debd9904d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default secure value for 32 bit.  <a href="#ga187d1e419e66b1ba10a3a73debd9904d">More...</a><br/></td></tr>
<tr class="separator:ga187d1e419e66b1ba10a3a73debd9904d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac098113c35ee3bd002d2ba7c1e7db74e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gac098113c35ee3bd002d2ba7c1e7db74e">XNVM_EFUSE_SEC_DEF_VAL_ALL_BIT_SET</a>&#160;&#160;&#160;(0xFFFFFFFFU)</td></tr>
<tr class="memdesc:gac098113c35ee3bd002d2ba7c1e7db74e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sysmon VCCPMC Amux ctrl value.  <a href="#gac098113c35ee3bd002d2ba7c1e7db74e">More...</a><br/></td></tr>
<tr class="separator:gac098113c35ee3bd002d2ba7c1e7db74e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab9172ab3c395b1c87cc6c243eb5b5e41"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gab9172ab3c395b1c87cc6c243eb5b5e41">XNVM_EFUSE_SYSMON_VCCPMC_AMUX_CTRL</a>&#160;&#160;&#160;(0x0bU)</td></tr>
<tr class="memdesc:gab9172ab3c395b1c87cc6c243eb5b5e41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sysmon VCCPMC Abus sw1 value.  <a href="#gab9172ab3c395b1c87cc6c243eb5b5e41">More...</a><br/></td></tr>
<tr class="separator:gab9172ab3c395b1c87cc6c243eb5b5e41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gada30b94ac5b0e038f2689e45f26c296b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gada30b94ac5b0e038f2689e45f26c296b">XNVM_EFUSE_SYSMON_VCCPMC_ABUS_SW1</a>&#160;&#160;&#160;(0x00U)</td></tr>
<tr class="memdesc:gada30b94ac5b0e038f2689e45f26c296b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sysmon VCCPMC Abus sw0 value.  <a href="#gada30b94ac5b0e038f2689e45f26c296b">More...</a><br/></td></tr>
<tr class="separator:gada30b94ac5b0e038f2689e45f26c296b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93915a19e1bccc48bbc4e9d6fef6c379"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga93915a19e1bccc48bbc4e9d6fef6c379">XNVM_EFUSE_SYSMON_VCCPMC_ABUS_SW0</a>&#160;&#160;&#160;(0x02U)</td></tr>
<tr class="memdesc:ga93915a19e1bccc48bbc4e9d6fef6c379"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sysmon VCCPMC mode value.  <a href="#ga93915a19e1bccc48bbc4e9d6fef6c379">More...</a><br/></td></tr>
<tr class="separator:ga93915a19e1bccc48bbc4e9d6fef6c379"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4eddd347eb370c94797d1b0074f95e99"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga4eddd347eb370c94797d1b0074f95e99">XNVM_EFUSE_SYSMON_VCCPMC_MODE</a>&#160;&#160;&#160;(0x00U)</td></tr>
<tr class="memdesc:ga4eddd347eb370c94797d1b0074f95e99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sysmon number of measurement registers.  <a href="#ga4eddd347eb370c94797d1b0074f95e99">More...</a><br/></td></tr>
<tr class="separator:ga4eddd347eb370c94797d1b0074f95e99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga43be5c3424b5e1df2cc040e69447292b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga43be5c3424b5e1df2cc040e69447292b">XNVM_EFUSE_SYSMON_NUM_MEASURE_REGS</a>&#160;&#160;&#160;(0x20U)</td></tr>
<tr class="memdesc:ga43be5c3424b5e1df2cc040e69447292b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sysmon number of supplies per flag.  <a href="#ga43be5c3424b5e1df2cc040e69447292b">More...</a><br/></td></tr>
<tr class="separator:ga43be5c3424b5e1df2cc040e69447292b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75a6f7f12d78cdad69940f49e27811d3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga75a6f7f12d78cdad69940f49e27811d3">XNVM_EFUSE_SYSMON_NUM_SUPPLIES_PER_FLAG</a>&#160;&#160;&#160;(32U)</td></tr>
<tr class="memdesc:ga75a6f7f12d78cdad69940f49e27811d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sysmon Psv timeout value.  <a href="#ga75a6f7f12d78cdad69940f49e27811d3">More...</a><br/></td></tr>
<tr class="separator:ga75a6f7f12d78cdad69940f49e27811d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3cff342e0039664d80d62412e1494341"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga3cff342e0039664d80d62412e1494341">XNVM_EFUSE_SYSMONPSV_TIMEOUT</a>&#160;&#160;&#160;(100000U)</td></tr>
<tr class="memdesc:ga3cff342e0039664d80d62412e1494341"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fraction multiplier value.  <a href="#ga3cff342e0039664d80d62412e1494341">More...</a><br/></td></tr>
<tr class="separator:ga3cff342e0039664d80d62412e1494341"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad803c38ffc552fe2bc5f6c5f8e6dab70"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad803c38ffc552fe2bc5f6c5f8e6dab70"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XNVM_EFUSE_FRACTION_MUL_VALUE</b>&#160;&#160;&#160;(1000000U)</td></tr>
<tr class="separator:gad803c38ffc552fe2bc5f6c5f8e6dab70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaee59a3237bc83a9ad128f1591dce1c41"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaee59a3237bc83a9ad128f1591dce1c41">XNVM_NUM_OF_CACHE_ADDR_PER_PAGE</a>&#160;&#160;&#160;(0x400U)</td></tr>
<tr class="memdesc:gaee59a3237bc83a9ad128f1591dce1c41"><td class="mdescLeft">&#160;</td><td class="mdescRight">PPK3 and PPK4 enable bits mask.  <a href="#gaee59a3237bc83a9ad128f1591dce1c41">More...</a><br/></td></tr>
<tr class="separator:gaee59a3237bc83a9ad128f1591dce1c41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa3075bb60cfbd57974b89d48093f1796"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gaa3075bb60cfbd57974b89d48093f1796">XNVM_EFUSE_PPK_3_PPK_4_ENABLE</a>&#160;&#160;&#160;(0x00030000U)</td></tr>
<tr class="memdesc:gaa3075bb60cfbd57974b89d48093f1796"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of PPKS.  <a href="#gaa3075bb60cfbd57974b89d48093f1796">More...</a><br/></td></tr>
<tr class="separator:gaa3075bb60cfbd57974b89d48093f1796"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga48e1523f29e7f9a6ab1cf8f39cbda5d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga48e1523f29e7f9a6ab1cf8f39cbda5d2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XNVM_EFUSE_NUM_OF_PPKS</b>&#160;&#160;&#160;(3U)</td></tr>
<tr class="separator:ga48e1523f29e7f9a6ab1cf8f39cbda5d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4fa477e5473cdcf0220dad1b33ed9a39"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga4fa477e5473cdcf0220dad1b33ed9a39">XNvm_EfuseWriteRevocationId</a> (u32 RevokeId, XSysMonPsv *SysMonInstPtr)</td></tr>
<tr class="memdesc:ga4fa477e5473cdcf0220dad1b33ed9a39"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function writes Revocation eFuses.  <a href="#ga4fa477e5473cdcf0220dad1b33ed9a39">More...</a><br/></td></tr>
<tr class="separator:ga4fa477e5473cdcf0220dad1b33ed9a39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac8bca3f1faba5e060ba174bad3908ca2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gac8bca3f1faba5e060ba174bad3908ca2">XNvm_EfuseReadOffchipRevokeId</a> (u32 *OffchipIdPtr, XNvm_OffchipId OffchipIdNum)</td></tr>
<tr class="memdesc:gac8bca3f1faba5e060ba174bad3908ca2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reads the Offchip revoke eFuse value from eFUSE cache.  <a href="#gac8bca3f1faba5e060ba174bad3908ca2">More...</a><br/></td></tr>
<tr class="separator:gac8bca3f1faba5e060ba174bad3908ca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga205ea0a6c23f71becd6b927e4c7645de"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga205ea0a6c23f71becd6b927e4c7645de">XNvm_EfuseReadUserFuses</a> (const <a class="el" href="struct_x_nvm___efuse_user_data.html">XNvm_EfuseUserData</a> *UserFusesData)</td></tr>
<tr class="memdesc:ga205ea0a6c23f71becd6b927e4c7645de"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reads User eFuses from Cache.  <a href="#ga205ea0a6c23f71becd6b927e4c7645de">More...</a><br/></td></tr>
<tr class="separator:ga205ea0a6c23f71becd6b927e4c7645de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26145c29a3bf9f92c4cee3878a4abef2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#ga26145c29a3bf9f92c4cee3878a4abef2">XNvm_EfuseWriteUserFuses</a> (<a class="el" href="struct_x_nvm___efuse_user_data.html">XNvm_EfuseUserData</a> *WriteUserFuses, XSysMonPsv *SysMonInstPtr)</td></tr>
<tr class="memdesc:ga26145c29a3bf9f92c4cee3878a4abef2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function Programs User eFuses.  <a href="#ga26145c29a3bf9f92c4cee3878a4abef2">More...</a><br/></td></tr>
<tr class="separator:ga26145c29a3bf9f92c4cee3878a4abef2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd870ce6c862eea492a4ec10a06e539e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__server__apis.html#gafd870ce6c862eea492a4ec10a06e539e">XNvm_EfuseReadCacheRange</a> (u32 StartRow, u8 RowCount, u32 *RowData)</td></tr>
<tr class="memdesc:gafd870ce6c862eea492a4ec10a06e539e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reads 32-bit rows from eFUSE cache.  <a href="#gafd870ce6c862eea492a4ec10a06e539e">More...</a><br/></td></tr>
<tr class="separator:gafd870ce6c862eea492a4ec10a06e539e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga6ebc086461092546789c62ddbd362948"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define REVERSE_POLYNOMIAL&#160;&#160;&#160;(0x82F63B78U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Value used in CRC calculation to reverse a polynomial. </p>

</div>
</div>
<a class="anchor" id="ga7d61c56ef327291aa92e3139cf03d374"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_CRC_DATA_BYTE_COUNT&#160;&#160;&#160;(<a class="el" href="group__xnvm__efuse__server__apis.html#ga6fd248450aabe5eed249a377d574dbf7">XNVM_CRC_DATA_WORD_COUNT</a> * <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>CRC data byte count. </p>

</div>
</div>
<a class="anchor" id="ga6fd248450aabe5eed249a377d574dbf7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_CRC_DATA_WORD_COUNT&#160;&#160;&#160;(37U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>CRC DATA word count. </p>

</div>
</div>
<a class="anchor" id="ga782be7b59f184a6e84c40983d956360f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_BITS_IN_A_BYTE&#160;&#160;&#160;(8U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of bits in a byte. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gacdba7ab23e8c853bedc9896a4bd6de71">XNvm_EfuseWriteRevocationID()</a>.</p>

</div>
</div>
<a class="anchor" id="ga79094d41cbd663f1d3c46f72cd66f16c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_BYTE_MASK&#160;&#160;&#160;(0xFF)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mask for 8 bits. </p>

</div>
</div>
<a class="anchor" id="gab9b8b53dc6bdbacffe4308a678e43751"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_ANLG_TRIM_0&#160;&#160;&#160;(0xF1250004U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ANLG_TRIM_0 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga10613c481db3e29dc454280550b9ff10"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_ANLG_TRIM_1&#160;&#160;&#160;(0xF1250008U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ANLG_TRIM_1 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga51bed690a372691a5c652747dc0fd283"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_ANLG_TRIM_2&#160;&#160;&#160;(0xF125000CU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ANLG_TRIM_2 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga62412c231dba2d1363729f61314c4f27"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_ANLG_TRIM_5&#160;&#160;&#160;(0xF12500E0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ANLG_TRIM_5 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga7cff8b8c23b9cf438afe30d0d9fff76d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_ANLG_TRIM_6&#160;&#160;&#160;(0xF12500F4U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ANLG_TRIM_6 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga37a6596cb53895b4e688a7762238da27"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_ANLG_TRIM_7&#160;&#160;&#160;(0xF12500F8U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ANLG_TRIM_7 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga04cc2769b6f8497d96ebe2750e4c90db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_DNA_0&#160;&#160;&#160;(0xF1250020U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DNA_0 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga3223eacda844e7ecb3431a27e6564a73"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_DNA_1&#160;&#160;&#160;(0xF1250024U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DNA_1 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga52c40e71d4549d670968a8ffc3e0e175"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_DNA_2&#160;&#160;&#160;(0xF1250028U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DNA_2 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga92dd8fc27f43548d9d2195fdbecbcb7b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_DNA_3&#160;&#160;&#160;(0xF125002CU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DNA_3 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga943a44c7db50de0eb91c8050c3d5bd0c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_EXPORT_DFT&#160;&#160;&#160;(0xF125018CU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>EXPORT_DFT eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="gadc26d3e2c8142a5e2676a7e6ab7c1db3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_IP_DISABLE_1&#160;&#160;&#160;(0xF125001CU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>IP_DISABLE_1 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga90f798916c76e54b596814085d1bbd76"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_ME_ID_CODE&#160;&#160;&#160;(0xF12500FCU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ME_ID_CODE eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga09e17172559522ea1a970487b2f00594"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_ME_ID_CODE_3_0_MASK&#160;&#160;&#160;(0x0000000FU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ME_ID_CODE_3_0_MASK. </p>

</div>
</div>
<a class="anchor" id="ga7d21dc25b97c99fe785c05b3c9555946"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_NIDB_0&#160;&#160;&#160;(0xF12501C4U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>NIDB_0 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga478223bafaaa229b98461d510f0de6b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_NIDB_1&#160;&#160;&#160;(0xF12501C8U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>NIDB_1 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="gaacd965a394de77088744cd6ba2f6844f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_NIDB_2&#160;&#160;&#160;(0xF12501CCU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>NIDB_2 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="gaf99688618af3569a31547cd73147f529"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_PMC_BISR_0&#160;&#160;&#160;(0xF12500D8U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>PMC_BISR_0 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="gaa438ad48825f5deaf036f0c13b2c548d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_PMC_BISR_1&#160;&#160;&#160;(0xF12500DCU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>PMC_BISR_1 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga2babd6a86386918a9b798c6706c668cc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_AMS_0&#160;&#160;&#160;(0xF12501F4U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_AMS_0 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="gaf6d9f234b6141d15c58f7ea1349ffaa1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_AMS_1&#160;&#160;&#160;(0xF12501F8U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_AMS_1 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="gaf02c93826c66f3bfe4badaa6489a0971"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_AMS_10&#160;&#160;&#160;(0xF12501A8U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_AMS_10 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="gabaca83f550dc2bf8b1122fbe00a2ad2c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_AMS_11&#160;&#160;&#160;(0xF12501ACU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_AMS_11 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga3827620eb0a70f63a1e4d54cf72a2813"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_AMS_12&#160;&#160;&#160;(0xF12501B0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_AMS_12 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga6d56c6cfe47bc25401cd6f1b2512b8d9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_AMS_2&#160;&#160;&#160;(0xF12501FCU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_AMS_2 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="gab8af0059a14127ae8268d650d3c30f30"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_AMS_3&#160;&#160;&#160;(0xF1250200U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_AMS_3 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga4a332ae0c166172e39167461321d3896"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_AMS_4&#160;&#160;&#160;(0xF1250190U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_AMS_4 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga9ec5918cd5269d495465267017f499fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_AMS_5&#160;&#160;&#160;(0xF1250194U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_AMS_5 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga0d1b24b9be6abfed6da74b689a6f8b22"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_AMS_6&#160;&#160;&#160;(0xF1250198U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_AMS_6 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="gadc0e0f63f314c7cf7a76d1878b147072"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_AMS_7&#160;&#160;&#160;(0xF125019CU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_AMS_7 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="gac6bc1ba9067df1cac2377caa02145ea1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_AMS_8&#160;&#160;&#160;(0xF12501A0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_AMS_8 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga66e27fb98cd697285d37fa2951bb0b25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_AMS_9&#160;&#160;&#160;(0xF12501A4U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_AMS_9 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="gaf148f97db98d174785db93847408cf40"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_BRAM&#160;&#160;&#160;(0xF1250098U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_BRAM eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="gad6780734f9f3a4ca67451d29a0944bd6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_CFRM_VGG_0&#160;&#160;&#160;(0xF12501B4U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_CFRM_VGG_0 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="gaf261c2d35a633bbc1238f772bee61bb8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_CFRM_VGG_1&#160;&#160;&#160;(0xF12501B8U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_CFRM_VGG_1 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga3dd26b15189a61482652cd208544f5cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_CFRM_VGG_2&#160;&#160;&#160;(0xF12501BCU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_CFRM_VGG_2 eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga0478ab180bef5b09ebffac6607306cb9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_CRAM&#160;&#160;&#160;(0xF12501C0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_CRAM eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="ga8854e6bd6cbc1de23560de47a4df7426"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CACHE_TRIM_URAM&#160;&#160;&#160;(0xF125009CU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TRIM_URAM eFuse cache offset. </p>

</div>
</div>
<a class="anchor" id="gae90a96afb82790626728eb3e7b0f8c41"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CRC_AES_ZEROS&#160;&#160;&#160;(0x6858A3D5U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; CRC for Aes zero key </p>
<p>Efuse total number of rows </p>

<p>Referenced by <a class="el" href="group__xnvm__versal__net__api__ids.html#gaa35f9d7952af5fccaed74ba5ae579191">XNvm_EfuseValidateAesKeyWriteReq()</a>, and <a class="el" href="group__xnvm__versal__net__api__ids.html#ga2aca2c53d5bb8c2d003e5a5e4097b884">XNvm_EfuseValidateDecOnlyRequest()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4567e6d196d2e68e334bf94c42719b33"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CRC_SALT&#160;&#160;&#160;(0x000000FFU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>CRC salt value. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gade779f5fb0d828586ba86b87492c0e50">XNvm_EfuseWriteCrc()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9afb36a9e0e49a9cac6a60b94df16a3c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_CTRL_WR_LOCKED&#160;&#160;&#160;(0x01U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; Macros for eFUSE CTRL WRITE LOCKED and UNLOCKED </p>

</div>
</div>
<a class="anchor" id="ga83280f37aceee2083f8b9f5cc12a0d6b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_DME_0_USER_EFUSE_CACHE_OFFSET&#160;&#160;&#160;(0x240U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DME 0 corresponding User eFuse offset. </p>

</div>
</div>
<a class="anchor" id="gac731a59e35b5b89f0c3a34afb59719e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_DME_1_USER_EFUSE_CACHE_OFFSET&#160;&#160;&#160;(0x270U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DME 1 corresponding User eFuse offset. </p>

</div>
</div>
<a class="anchor" id="gab6d8ddcc13401c7ad796e5a3719604c2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_DME_2_USER_EFUSE_CACHE_OFFSET&#160;&#160;&#160;(0x2A0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DME 2 corresponding User eFuse offset. </p>

</div>
</div>
<a class="anchor" id="ga743d2c9a7c90d322822e690a72a1f01d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_DME_3_USER_EFUSE_CACHE_OFFSET&#160;&#160;&#160;(0x2D0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DME 3 corresponding User eFuse offset. </p>

</div>
</div>
<a class="anchor" id="gaf187ef7b4bc3677f97c1d3d8c6ead746"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_DME_KEY_SIZE_IN_BYTES&#160;&#160;&#160;(48U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DME key size in bytes. </p>

</div>
</div>
<a class="anchor" id="gab8f5eff3de624d650309262ed9243b29"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_ERROR_BYTE_SHIFT&#160;&#160;&#160;(8U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Byte shift used in error code. </p>

<p>Referenced by <a class="el" href="group__xnvm__versal__net__api__ids.html#gaa35f9d7952af5fccaed74ba5ae579191">XNvm_EfuseValidateAesKeyWriteReq()</a>, <a class="el" href="group__xnvm__versal__net__api__ids.html#gabe9934f94cf8712b7b30ad3502eb5565">XNvm_EfuseValidateIvWriteReq()</a>, <a class="el" href="group__xnvm__versal__net__api__ids.html#gacc264f1596fadaaf19db535bf527435a">XNvm_EfuseValidatePpkHashWriteReq()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gade3b92169c879227c5c323aad3916c27">XNvm_EfuseWriteDmeRevoke()</a>.</p>

</div>
</div>
<a class="anchor" id="gaba51a149137ee78fa0d298a6c79b80a1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_ERROR_NIBBLE_SHIFT&#160;&#160;&#160;(4U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Nibble shift used in error code. </p>

<p>Referenced by <a class="el" href="group__xnvm__versal__net__api__ids.html#gaa35f9d7952af5fccaed74ba5ae579191">XNvm_EfuseValidateAesKeyWriteReq()</a>, and <a class="el" href="group__xnvm__versal__net__api__ids.html#gacc264f1596fadaaf19db535bf527435a">XNvm_EfuseValidatePpkHashWriteReq()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa1c079b48271f7e1107d847b85f94b2b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_FULL_RANGE_TEMP_MIN&#160;&#160;&#160;(-55.0f)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Temaperature limits defination for versal Efuses. </p>

</div>
</div>
<a class="anchor" id="gaa2142f51fe8a59ad589023dbce7463a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_HP_RANGE_CHECK&#160;&#160;&#160;(3U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>eFuse volatage limits definations </p>

</div>
</div>
<a class="anchor" id="ga37a8dc8c98a8f16f5dcf47c151d80bfe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_LAST_ROW_IN_PAGE&#160;&#160;&#160;(255U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Row number of last eFuse row in page. </p>

</div>
</div>
<a class="anchor" id="gaf56f394f0bacd163dadfe4b8f5ec0b3b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_MAX_FIPS_MODE&#160;&#160;&#160;(0xFFU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Max value of FIPS mode. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#ga9b518b5753573d6f65ba1d15c94fce86">XNvm_EfuseWriteFipsInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="ga79f1a0c29e255f56430d6ef50d224b89"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_MAX_FIPS_VERSION&#160;&#160;&#160;(7U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Max Value of FIPS version. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#ga9b518b5753573d6f65ba1d15c94fce86">XNvm_EfuseWriteFipsInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa3075bb60cfbd57974b89d48093f1796"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_PPK_3_PPK_4_ENABLE&#160;&#160;&#160;(0x00030000U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Total number of PPKS. </p>

</div>
</div>
<a class="anchor" id="gaf0bd23dadad7c1a9cf86f61dc2002905"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_PPK_HASH_UPPER_WORD_START_OFFSET&#160;&#160;&#160;(8U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>PPK HASH upper 128 bit hash start word offset. </p>

</div>
</div>
<a class="anchor" id="ga9a082358f66542e6dadc3c622b552870"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_PROGRAM_VERIFY&#160;&#160;&#160;(0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Verify eFuses after programming. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#ga10e7c8ba2f592b3cbd00323d300c1314">XNvm_EfuseWriteDisableInplacePlmUpdate()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gade3b92169c879227c5c323aad3916c27">XNvm_EfuseWriteDmeRevoke()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga53da415156ffb127deaac7c1891a9a50">XNvm_EfuseWriteGlitchConfigBits()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga2126e9f3c76ffe698caf235573b1bf59">XNvm_EfuseWriteOffChipRevokeID()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gac6d13e9abcbed3286ccda15361a4168a">XNvm_EfuseWritePufSecCtrl()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gacdba7ab23e8c853bedc9896a4bd6de71">XNvm_EfuseWriteRevocationID()</a>.</p>

</div>
</div>
<a class="anchor" id="gad9ba1c4865a9f5c3ccaf3fc2c9e4dad9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_PROTECTION_BIT_CLEAR&#160;&#160;&#160;(0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>To check the corresponding protection eFuse is set or not. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#ga15d0a0989ba278e28edaaf2cd9d7bf7f">XNvm_EfuseReadProtectionBits()</a>.</p>

</div>
</div>
<a class="anchor" id="gacb1f07d8ce30f924e03be7eae6e6f50e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_PUF_CTRL_PUF_HD_INVLD_MASK&#160;&#160;&#160;0x40000000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mask for PUF_HD_INVLD. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gac6d13e9abcbed3286ccda15361a4168a">XNvm_EfuseWritePufSecCtrl()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1bf9c13eec59cb17ab8da5976e4b58bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_PUF_CTRL_PUF_REGEN_DIS_MASK&#160;&#160;&#160;0x80000000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mask for PUF_REGEN_DISABLE. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gac6d13e9abcbed3286ccda15361a4168a">XNvm_EfuseWritePufSecCtrl()</a>.</p>

</div>
</div>
<a class="anchor" id="ga58386dcea40091c3210dc2bdb40bd600"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_PUF_CTRL_PUF_REGIS_DIS_MASK&#160;&#160;&#160;0x20000000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mask for PUF_REGIS_DIS. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gac6d13e9abcbed3286ccda15361a4168a">XNvm_EfuseWritePufSecCtrl()</a>.</p>

</div>
</div>
<a class="anchor" id="ga66f5b9ce61387b401c6d89f84bf525c4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_PUF_SEC_CTRL_INVLD_MASK&#160;&#160;&#160;0xE0000000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mask for PUF control bits in PUF_ECC_PUF_CTRL register in EFUSE_CACHE module. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gac6d13e9abcbed3286ccda15361a4168a">XNvm_EfuseWritePufSecCtrl()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9ba241e36c252f80eb67d4f07c14c36a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_REVOKE_ID_127&#160;&#160;&#160;(127U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Efuse revoke ID. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gacdba7ab23e8c853bedc9896a4bd6de71">XNvm_EfuseWriteRevocationID()</a>.</p>

</div>
</div>
<a class="anchor" id="gac098113c35ee3bd002d2ba7c1e7db74e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_SEC_DEF_VAL_ALL_BIT_SET&#160;&#160;&#160;(0xFFFFFFFFU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Secure Default Value for a register. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#ga3e5b32d4a7ec60464f46788458b5e67f">XNvm_EfuseWritePuf()</a>.</p>

</div>
</div>
<a class="anchor" id="gac098113c35ee3bd002d2ba7c1e7db74e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_SEC_DEF_VAL_ALL_BIT_SET&#160;&#160;&#160;(0xFFFFFFFFU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sysmon VCCPMC Amux ctrl value. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#ga420873a40f9a6f98373837d2fed08bb6">XNvm_EfuseWritePuf()</a>.</p>

</div>
</div>
<a class="anchor" id="ga789eeeb22e890f0b72f2968e4368ffe7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_SKIP_VERIFY&#160;&#160;&#160;(1U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Skip verification of eFuses after programming. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#ga9e5e2abc14f75b9dc43d03284af58ade">XNvm_EfuseWriteUds()</a>.</p>

</div>
</div>
<a class="anchor" id="ga43be5c3424b5e1df2cc040e69447292b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_SYSMON_NUM_MEASURE_REGS&#160;&#160;&#160;(0x20U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sysmon number of supplies per flag. </p>

</div>
</div>
<a class="anchor" id="ga75a6f7f12d78cdad69940f49e27811d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_SYSMON_NUM_SUPPLIES_PER_FLAG&#160;&#160;&#160;(32U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sysmon Psv timeout value. </p>

</div>
</div>
<a class="anchor" id="ga93915a19e1bccc48bbc4e9d6fef6c379"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_SYSMON_VCCPMC_ABUS_SW0&#160;&#160;&#160;(0x02U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sysmon VCCPMC mode value. </p>

</div>
</div>
<a class="anchor" id="gada30b94ac5b0e038f2689e45f26c296b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_SYSMON_VCCPMC_ABUS_SW1&#160;&#160;&#160;(0x00U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sysmon VCCPMC Abus sw0 value. </p>

</div>
</div>
<a class="anchor" id="gab9172ab3c395b1c87cc6c243eb5b5e41"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_SYSMON_VCCPMC_AMUX_CTRL&#160;&#160;&#160;(0x0bU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sysmon VCCPMC Abus sw1 value. </p>

</div>
</div>
<a class="anchor" id="ga4eddd347eb370c94797d1b0074f95e99"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_SYSMON_VCCPMC_MODE&#160;&#160;&#160;(0x00U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sysmon number of measurement registers. </p>

</div>
</div>
<a class="anchor" id="ga3cff342e0039664d80d62412e1494341"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_SYSMONPSV_TIMEOUT&#160;&#160;&#160;(100000U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Fraction multiplier value. </p>

</div>
</div>
<a class="anchor" id="ga64005a005c1e61fcd7a7b47625810b9d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_TEMP_HP_MAX&#160;&#160;&#160;(125.0f)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>eFuse Range check definations </p>

</div>
</div>
<a class="anchor" id="ga275db079af1fd172b9939cc10053a135"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_TOTAL_NUM_OF_ROWS&#160;&#160;&#160;(768U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>PPK hash number of eFuse rows. </p>

</div>
</div>
<a class="anchor" id="ga304d7fadfa39830e9cc0cfd70acce076"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_TOTAL_PPK_HASH_ROWS&#160;&#160;&#160;(XNVM_EFUSE_PPK_HASH_NUM_OF_ROWS * 3U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>eFuse word length </p>

</div>
</div>
<a class="anchor" id="ga187d1e419e66b1ba10a3a73debd9904d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_WORD_LEN&#160;&#160;&#160;(4U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Default secure value for 32 bit. </p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gac3c8a8519db111050a86072af33a7f9d">XNvm_GetSysmonSupplyRegId()</a>.</p>

</div>
</div>
<a class="anchor" id="gaee59a3237bc83a9ad128f1591dce1c41"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_NUM_OF_CACHE_ADDR_PER_PAGE&#160;&#160;&#160;(0x400U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>PPK3 and PPK4 enable bits mask. </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="gaf5262e07dfefff15534093f7f3d24fde"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum XNvm_EfuseOpMode</td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaf5262e07dfefff15534093f7f3d24fdea45f51f9dc7365809c3e52c2c265a1ce6"></a>XNVM_EFUSE_MODE_RD</em>&nbsp;</td><td class="fielddoc">
<p>eFuse read mode </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4"></a>XNVM_EFUSE_MODE_PGM</em>&nbsp;</td><td class="fielddoc">
<p>eFuse program mode </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf5262e07dfefff15534093f7f3d24fdea45f51f9dc7365809c3e52c2c265a1ce6"></a>XNVM_EFUSE_MODE_RD</em>&nbsp;</td><td class="fielddoc">
<p>eFuse read mode </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4"></a>XNVM_EFUSE_MODE_PGM</em>&nbsp;</td><td class="fielddoc">
<p>eFuse program mode </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga626bd515d5b319991d9b6b337ac3eafa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum XNvm_EfuseRdMode</td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga626bd515d5b319991d9b6b337ac3eafaa2ac2cd53fea8c1c9ffa24c30ce760244"></a>XNVM_EFUSE_NORMAL_RD</em>&nbsp;</td><td class="fielddoc">
<p>eFuse normal read </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c"></a>XNVM_EFUSE_MARGIN_RD</em>&nbsp;</td><td class="fielddoc">
<p>eFuse margin read </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga626bd515d5b319991d9b6b337ac3eafaa2ac2cd53fea8c1c9ffa24c30ce760244"></a>XNVM_EFUSE_NORMAL_RD</em>&nbsp;</td><td class="fielddoc">
<p>eFuse normal read </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c"></a>XNVM_EFUSE_MARGIN_RD</em>&nbsp;</td><td class="fielddoc">
<p>eFuse margin read </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga545e370d65dd5455a7292c721c9bd578"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__xnvm__efuse__server__apis.html#ga545e370d65dd5455a7292c721c9bd578">XNvm_EfuseType</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873"></a>XNVM_EFUSE_PAGE_0</em>&nbsp;</td><td class="fielddoc">
<p>Efuse page 0. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga545e370d65dd5455a7292c721c9bd578a93b3ce45e3bed96a04dd25fd7267d3ee"></a>XNVM_EFUSE_PAGE_1</em>&nbsp;</td><td class="fielddoc">
<p>Efuse page 1. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga545e370d65dd5455a7292c721c9bd578af42a55e305604ef7abe0da7829d74b0c"></a>XNVM_EFUSE_PAGE_2</em>&nbsp;</td><td class="fielddoc">
<p>Efuse page 2. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga1180dbb45b4f670e0e34633c8f8eec65"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseCacheLoadNPrgmProtectionBits </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reloads the cache of eFUSE so that can be directly read from cache and programs required protections eFuses. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful Cache Reload.</li>
<li>XNVM_EFUSE_ERR_CACHE_LOAD Error while loading the cache.</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Not recommended to call this API frequently,if this API is called all the cache memory is reloaded by reading eFUSE array, reading eFUSE bit multiple times may diminish the life time. </dd></dl>
<p>Unlock eFuse Controller. Return appropriate error code if not success</p>
<p>Reload Cache and check protection bits.</p>
<p>Write protection bits into eFuse. Return error code upon failure.</p>
<p>Reload cache and check protection bits.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, and <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>.</p>

</div>
</div>
<a class="anchor" id="ga92376a9337883b186a9d6c888f7b7937"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseCacheReload </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reloads the eFUSE cache, so that eFUSE values can be directly read from cache. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful cache reload.</li>
<li>XNVM_EFUSE_ERR_CACHE_LOAD Error while loading the cache.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Not recommended to call this API frequently,if this API is called all the cache memory is reloaded by reading eFUSE array, reading eFUSE bit multiple times may diminish the life time. </dd></dl>
<p>Write 1 to load bit of eFuse_CACHE_LOAD register. Wait for CACHE_DONE bit to set in EFUSE_STATUS register. If timed out return timeout error, else return XST_SUCCESS.</p>
<p>Read EFUSE_ISR_REG. If EFUSE_ISR_CACHE_ERROR is set return cache load error else return XST_SUCCES.</p>
<p>Reset EFUSE_ISR_CACHE_ERROR bit to 1.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca891303a2ed51755ec06ecddc159b8984">XNVM_EFUSE_ERR_CACHE_LOAD</a>, <a class="el" href="group__xnvm__util__apis.html#ga0b8d44122a9957c29ed1be2574a53aed">XNvm_EfuseReadReg()</a>, and <a class="el" href="group__xnvm__util__apis.html#ga64ca5266a4e90002294937021465135a">XNvm_EfuseWriteReg()</a>.</p>

</div>
</div>
<a class="anchor" id="ga34244e65ac073b03f29ee6a5672da34a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseCheckForTBits </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function checks whether Tbits are programmed or not. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Success.</li>
<li>XNVM_EFUSE_ERR_PGM_TBIT_PATTERN Error in T-Bit pattern. </li>
</ul>
</dd></dl>
<p>Read EFUSE_STATUS_REG register. Return error code if Read register value not equal to Tbit mask.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fcae9c5b8f4e067beed16673ebb09483586">XNVM_EFUSE_ERR_PGM_TBIT_PATTERN</a>, and <a class="el" href="group__xnvm__util__apis.html#ga0b8d44122a9957c29ed1be2574a53aed">XNvm_EfuseReadReg()</a>.</p>

<p>Referenced by <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf62c488013d769df5cf16476d9dc04ed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XNvm_EfuseDisablePowerDown </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function disables power down of eFUSE macros. </p>
<p>Read EFUSE_PD_REG. If enable disable by writing EFUSE_PD_REG to 0.</p>
<p>When changing the Power Down state, wait a separation period of 1us, before and after accessing the eFuse-Macro.</p>

<p>References <a class="el" href="group__xnvm__util__apis.html#ga0b8d44122a9957c29ed1be2574a53aed">XNvm_EfuseReadReg()</a>, <a class="el" href="group__xnvm__util__apis.html#ga64ca5266a4e90002294937021465135a">XNvm_EfuseWriteReg()</a>, and <a class="el" href="xnvm__efuse__common_8c.html#acd50e659ab2873ed4d3fed56e88c6d9c">XNVM_ONE_MICRO_SECOND</a>.</p>

<p>Referenced by <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0210acfa1906f9a6d4c462ca0c214552"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseDisableProgramming </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function disables programming mode of eFUSE controller. </p>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS - if eFUSE programming is disabled successfully. XST_FAILURE - if there is a failure</dd>
<dd>
<ul>
<li>XST_SUCCESS If eFUSE programming is disabled successfully.</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Read EFUSE_CFG_REG</p>
<p>disable eFuse program mode by writing EFUSE_CFG_REG register</p>
<p>Read EFUSE_CFG_REG</p>
<p>Disable eFuse program mode by writing EFUSE_CFG_REG register</p>

<p>References <a class="el" href="group__xnvm__util__apis.html#ga0b8d44122a9957c29ed1be2574a53aed">XNvm_EfuseReadReg()</a>.</p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gace7f68b8a561aa12aed7ca066b9e28b2">XNvm_EfuseWrite()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#ga420873a40f9a6f98373837d2fed08bb6">XNvm_EfuseWritePuf()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0f509a4e6fbf01df3a0a5cf4e5b1920a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XNvm_EfuseEnableProgramming </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function enables programming mode of eFUSE controller. </p>
<p>Read EFUSE_CFG_REG</p>
<p>Enable eFuse program mode by writing EFUSE_CFG_REG register</p>

<p>References <a class="el" href="group__xnvm__util__apis.html#ga0b8d44122a9957c29ed1be2574a53aed">XNvm_EfuseReadReg()</a>, and <a class="el" href="group__xnvm__util__apis.html#ga64ca5266a4e90002294937021465135a">XNvm_EfuseWriteReg()</a>.</p>

<p>Referenced by <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>.</p>

</div>
</div>
<a class="anchor" id="ga48684cc917830291d61d10ec465489e1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XNvm_EfuseInitTimers </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function initializes eFUSE controller timers. </p>

<p>References <a class="el" href="xnvm__efuse__common_8c.html#a6dbb0c4c8c48e43f76855556bfd8ddfa">XNVM_EFUSE_TPGM_DIV</a>, <a class="el" href="xnvm__efuse__common_8c.html#ae239711c0eac74b9b61f4722ff364793">XNVM_EFUSE_TRD_DIV</a>, <a class="el" href="xnvm__efuse__common_8c.html#a784c2ab9f47ab92cf97a2c7b4fe65f68">XNVM_EFUSE_TRMD_DIV</a>, <a class="el" href="xnvm__efuse__common_8c.html#a3981b7cdd57c22640d44e78b9586f29e">XNVM_EFUSE_TSU_H_CS_DIV</a>, <a class="el" href="xnvm__efuse__common_8c.html#a1e3076a511984c7164e5f40312fceb54">XNVM_EFUSE_TSU_H_PS_CS_DIV</a>, <a class="el" href="xnvm__efuse__common_8c.html#a819382f59ba2be5679312a9d8d6267c7">XNVM_EFUSE_TSU_H_PS_DIV</a>, and <a class="el" href="group__xnvm__util__apis.html#ga64ca5266a4e90002294937021465135a">XNvm_EfuseWriteReg()</a>.</p>

<p>Referenced by <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>.</p>

</div>
</div>
<a class="anchor" id="ga50174985a13b2facd6fd35fea6637f8c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadBootEnvCtrlBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_EfuseBootEnvCtrlBits *&#160;</td>
          <td class="paramname"><em>BootEnvCtrlBits</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reads the Boot Environmental Control bits from cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BootEnvCtrlBits</td><td>- Pointer to the XNvm_EfuseBootEnvCtrlBits which holds the Boot Environmental control bits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful read.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_CACHE_PARITY Error while Cache reload. </li>
</ul>
</dd></dl>
<p>Perform input parameter validation. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Read directly from cache offset of BOOT_ENV_CTRL offset to fill the BootEnvCtrlBits structure. Return XST_SUCCESS if read is success.</p>

<p>References <a class="el" href="xnvm__efuseclient__hw_8h.html#a5c7db11ff489c6723ab0d1f5dfa57a6c">XNVM_EFUSE_CACHE_BOOT_ENV_CTRL_SYSMON_TEMP_EN_MASK</a>, and <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>.</p>

</div>
</div>
<a class="anchor" id="gafd870ce6c862eea492a4ec10a06e539e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadCacheRange </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>StartRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>RowCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>RowData</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reads 32-bit rows from eFUSE cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">StartRow</td><td>- Starting Row number (0-based addressing). </td></tr>
    <tr><td class="paramname">RowCount</td><td>- Number of Rows to be read. </td></tr>
    <tr><td class="paramname">RowData</td><td>- Pointer to memory location where read 32-bit row data(s) is to be stored.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS Specified data read.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM Input validation failure.</li>
<li>XNVM_EFUSE_ERR_CACHE_PARITY Parity Error exist in cache. </li>
</ul>
</dd></dl>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gafe7f7c2ced18e824970eaa2c509d3263">XNvm_EfuseReadDna()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gaac535d6758d3eccb3407e6d30acad999">XNvm_EfuseReadIv()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gaa94fa3a1bbb5fcad4fc6a8c9822f55f0">XNvm_EfuseReadPpkHash()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga0c0ae462f443cc003504d85d719d816f">XNvm_EfuseReadPuf()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#ga205ea0a6c23f71becd6b927e4c7645de">XNvm_EfuseReadUserFuses()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf25ea1ce6b8a6f3971b341861f66a4d6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadDecOnly </td>
          <td>(</td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>DecOnly</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to read DecEfuseOnly eFUSE bits from cache. </p>
<p>This function reads DEC only fuses from eFUSE cache.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DecOnly</td><td>- Pointer to the DecOnly efuse data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful read.</li>
</ul>
</dd></dl>
<ul>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_RD_DEC_ONLY Error in reading in Dec_only efuses.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>If DecOnly eFuse is programmed that means boot can happen in only Symmetric HWRoT boot mode. </dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Read directly from cache offset of the DecOnly eFuse to fill the input param. Return XST_SUCCESS if read success.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, and <a class="el" href="group__xilnvm__versal__error__codes.html#gga86e3961e656aebaac884575ef08d47ada4ab10eb4f7a014c7b68b051ae00a245c">XNVM_EFUSE_ERR_RD_DEC_ONLY</a>.</p>

</div>
</div>
<a class="anchor" id="gafe7f7c2ced18e824970eaa2c509d3263"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadDna </td>
          <td>(</td>
          <td class="paramtype">XNvm_Dna *&#160;</td>
          <td class="paramname"><em>EfuseDna</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to read Dna eFUSE bits from cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EfuseDna</td><td>- Pointer to the XNvm_Dna, which holds the read DNA.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful read.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid parameter.</li>
<li>XNVM_EFUSE_ERR_RD_DNA Error in reading DNA efuses. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Read directly from cache offset of the Dna to fill the Dna array. Return XST_SUCCESS if read success.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__versal__error__codes.html#gga86e3961e656aebaac884575ef08d47ada7158ecd15333c9d72b0412715cebc4ad">XNVM_EFUSE_ERR_RD_DNA</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gafd870ce6c862eea492a4ec10a06e539e">XNvm_EfuseReadCacheRange()</a>.</p>

</div>
</div>
<a class="anchor" id="gaac535d6758d3eccb3407e6d30acad999"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadIv </td>
          <td>(</td>
          <td class="paramtype">XNvm_Iv *&#160;</td>
          <td class="paramname"><em>EfuseIv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XNvm_IvType&#160;</td>
          <td class="paramname"><em>IvType</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to read IV eFUSE bits from cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EfuseIv</td><td>- Pointer to the XNvm_Iv, which contains read IV data. </td></tr>
    <tr><td class="paramname">IvType</td><td>- Iv to be read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful read.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_RD_META_HEADER_IV_RANGE Error while reading MetaHeader IV.</li>
<li>XNVM_EFUSE_ERR_RD_BLACK_IV Error while reading BlkObfus IV.</li>
<li>XNVM_EFUSE_ERR_RD_PLM_IV_RANGE Error while reading PLM IV.</li>
<li>XNVM_EFUSE_ERR_RD_DATA_PARTITION_IV_RANGE Error while reading Data Partition IV.</li>
<li>XNVM_EFUSE_ERR_IN_ZEROIZATION Error in zeroization. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Based on user input IvType Reads the efuse cache. Fills EfuseIv structure. If read cache fails zeroize the EfuseIv data and return XST_FAILURE.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca1d613bcd068b1a35f323449d19661fe8">XNVM_EFUSE_ERR_IN_ZEROIZATION</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__versal__error__codes.html#gga86e3961e656aebaac884575ef08d47adacad34a84617f1cec51b66e1dfdb0bae8">XNVM_EFUSE_ERR_RD_BLACK_IV</a>, <a class="el" href="group__xilnvm__versal__error__codes.html#gga86e3961e656aebaac884575ef08d47ada8830747f2ba4ae5b542a65bb64710285">XNVM_EFUSE_ERR_RD_DATA_PARTITION_IV_RANGE</a>, <a class="el" href="group__xilnvm__versal__error__codes.html#gga86e3961e656aebaac884575ef08d47ada369312727ff9b15d54e9323ef62809d6">XNVM_EFUSE_ERR_RD_META_HEADER_IV_RANGE</a>, <a class="el" href="group__xilnvm__versal__error__codes.html#gga86e3961e656aebaac884575ef08d47ada66546727eb4b34997685f3805ee56efc">XNVM_EFUSE_ERR_RD_PLM_IV_RANGE</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gafd870ce6c862eea492a4ec10a06e539e">XNvm_EfuseReadCacheRange()</a>, and <a class="el" href="group__xnvm__util__apis.html#gaf8e96ff615b644f9f920a0f0e94f5da0">XNvm_ZeroizeAndVerify()</a>.</p>

</div>
</div>
<a class="anchor" id="ga41a3f8903c46968528ef035b329fb58f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadMiscCtrlBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_EfuseMiscCtrlBits *&#160;</td>
          <td class="paramname"><em>MiscCtrlBits</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to read the miscellaneous eFUSE control bits from cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">MiscCtrlBits</td><td>- Pointer to the XNvm_MiscCtrlBits which holds the read secure control bits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful read.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_CACHE_PARITY Error while Cache reload. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Read directly from cache offset of the MiscCtrl to fill the MiscCtrlBits structure.</p>

<p>References <a class="el" href="xnvm__efuseclient__hw_8h.html#aa72c54dd6528414ea0e88155fd1dbb16">XNVM_EFUSE_CACHE_MISC_CTRL_GD_HALT_BOOT_EN_1_0_MASK</a>, and <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>.</p>

</div>
</div>
<a class="anchor" id="gac8bca3f1faba5e060ba174bad3908ca2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadOffchipRevokeId </td>
          <td>(</td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>OffchipIdPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XNvm_OffchipId&#160;</td>
          <td class="paramname"><em>OffchipIdNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reads the Offchip revoke eFuse value from eFUSE cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">OffchipIdPtr</td><td>- Pointer to the data which hold the Offchip revoke ID values. </td></tr>
    <tr><td class="paramname">OffchipIdNum</td><td>- Offchip fuse number to read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful read.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_CACHE_PARITY Error in Cache reload. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Calculate offchip_revoke id offset based on which revoke id value is requested.</p>
<p>Read directly from cache offset of the offchip revoke id offset to fill the OffchipIdPtr. Return XST_SUCCESS if the read is successful.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>.</p>

</div>
</div>
<a class="anchor" id="gaa94fa3a1bbb5fcad4fc6a8c9822f55f0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadPpkHash </td>
          <td>(</td>
          <td class="paramtype">XNvm_PpkHash *&#160;</td>
          <td class="paramname"><em>EfusePpk</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XNvm_PpkType&#160;</td>
          <td class="paramname"><em>PpkType</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reads the Ppk Hash from eFUSE cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EfusePpk</td><td>- Pointer to XNvm_PpkHash which holds the PpkHash from eFUSE Cache. </td></tr>
    <tr><td class="paramname">PpkType</td><td>- Type of the Ppk to be programmed.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful read.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_RD_PPK_HASH Error while reading PPK Hash. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Read directly from cache offset of the mentioned ppk type to fill the ppk hash array. Return XST_SUCCESS if read success.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__versal__error__codes.html#gga86e3961e656aebaac884575ef08d47ada15312fcb92e32c79e7fb9bfd9434cbc2">XNVM_EFUSE_ERR_RD_PPK_HASH</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gafd870ce6c862eea492a4ec10a06e539e">XNvm_EfuseReadCacheRange()</a>.</p>

</div>
</div>
<a class="anchor" id="ga15d0a0989ba278e28edaaf2cd9d7bf7f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XNvm_EfuseReadProtectionBits </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Mask</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reads the corresponding eFuse protection bits. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Mask</td><td>Efuse Protection bit mask value.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return protection bits value as specified by Mask </dd></dl>

<p>References <a class="el" href="group__xnvm__efuse__server__apis.html#gad9ba1c4865a9f5c3ccaf3fc2c9e4dad9">XNVM_EFUSE_PROTECTION_BIT_CLEAR</a>, <a class="el" href="group__xnvm__versal___efuse___h_w.html#gaa62fb13830c2ee70860fb1d7bd50bcec">XNVM_EFUSE_TBITS_XILINX_CTRL_ROW</a>, and <a class="el" href="group__xnvm__util__apis.html#ga0b8d44122a9957c29ed1be2574a53aed">XNvm_EfuseReadReg()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0c0ae462f443cc003504d85d719d816f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadPuf </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_nvm___efuse_puf_hd.html">XNvm_EfusePufHd</a> *&#160;</td>
          <td class="paramname"><em>PufHelperData</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reads the PUF helper data from eFUSE cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">PufHelperData</td><td>- Pointer to <a class="el" href="struct_x_nvm___efuse_puf_hd.html" title="Defines Puf helper data. ">XNvm_EfusePufHd</a> which holds the PUF helper data read from eFUSEs.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful read.</li>
<li>XNVM_EFUSE_ERR_RD_PUF_SYN_DATA Error while reading SYN_DATA.</li>
<li>XNVM_EFUSE_ERR_RD_PUF_CHASH Error while reading CHASH.</li>
<li>XNVM_EFUSE_ERR_RD_PUF_AUX Error while reading AUX. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Puf Syndrome eFuses are in Page 2 of eFuse memory map, hence effective row should be calculated to read correct eFuses.</p>
<p>Read directly from cache offset of the PUF syndrome data, Chash and Aux data to fill the PufHelperData structure. Return XST_SUCCESS if read is successful.</p>

<p>References <a class="el" href="struct_x_nvm___efuse_puf_hd.html#a82555df77ab1cc86218bc1a758fe3762">XNvm_EfusePufHd::Aux</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd.html#afef4122244237c9ecf7f40374428c0e7">XNvm_EfusePufHd::Chash</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd.html#a2d1197f22e08ba160a10a806ad97d267">XNvm_EfusePufHd::EfuseSynData</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca1d613bcd068b1a35f323449d19661fe8">XNVM_EFUSE_ERR_IN_ZEROIZATION</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__versal__error__codes.html#gga86e3961e656aebaac884575ef08d47adac3c7698327b22dd07918faba3cc7e421">XNVM_EFUSE_ERR_RD_PUF_AUX</a>, <a class="el" href="group__xilnvm__versal__error__codes.html#gga86e3961e656aebaac884575ef08d47ada0d5d3ee5b425db249a711fcb95fca3a9">XNVM_EFUSE_ERR_RD_PUF_CHASH</a>, <a class="el" href="group__xilnvm__versal__error__codes.html#gga86e3961e656aebaac884575ef08d47adaaa5e7170328ee8fc4f679752c2cf0acf">XNVM_EFUSE_ERR_RD_PUF_SYN_DATA</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578af42a55e305604ef7abe0da7829d74b0c">XNVM_EFUSE_PAGE_2</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gafd870ce6c862eea492a4ec10a06e539e">XNvm_EfuseReadCacheRange()</a>, and <a class="el" href="group__xnvm__util__apis.html#gaf8e96ff615b644f9f920a0f0e94f5da0">XNvm_ZeroizeAndVerify()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4632d36b5d828148cb6cdec52d6310ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadPufSecCtrlBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_EfusePufSecCtrlBits *&#160;</td>
          <td class="paramname"><em>PufSecCtrlBits</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to read the Puf eFUSE secure control bits from cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">PufSecCtrlBits</td><td>- Pointer to the XNvm_PufSecCtrlBits, which holds the read secure control bits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful read.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_CACHE_PARITY Error while Cache reload. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Read directly from cache offset of the PUF_ECC_PUF_CTRL and also SEC_CRTL to fill the PufSecCtrlBits structure. Return XST_SUCESS if read is success.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>.</p>

</div>
</div>
<a class="anchor" id="ga46bc38f1599f488fabc6c4fc499336e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadRevocationId </td>
          <td>(</td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>RevokeFusePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XNvm_RevocationId&#160;</td>
          <td class="paramname"><em>RevokeFuseNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reads the Revocation Fuse from eFUSE cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">RevokeFusePtr</td><td>- Pointer to the data which hold the Revocation IDs from eFUSE Cache. </td></tr>
    <tr><td class="paramname">RevokeFuseNum</td><td>- Revocation ID fuse number to read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful read.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_CACHE_PARITY Error in Cache reload. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Read directly from cache offset of the Revocation Id to fill the Revocation Id array. Return XST_SUCCESS if the read is successful.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>.</p>

</div>
</div>
<a class="anchor" id="gaf0e51beac90b7d5fe2d18c9ef25bc2ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadSecCtrlBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_EfuseSecCtrlBits *&#160;</td>
          <td class="paramname"><em>SecCtrlBits</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to read the eFUSE secure control bits from cache. </p>
<p>This function reads secure control bits and CRC_EN register bits from eFUSE cache.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SecCtrlBits</td><td>- Pointer to the Xnvm_SecCtrlBits which holds the read secure control bits. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful read.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_CACHE_PARITY Error while Cache reload. </li>
</ul>
</dd></dl>
<p>Perform input parameter validation. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Read Directly from cache offset of security control to fill the SecCtrlBits structure. Return XST_SUCCESS if read is success.</p>

<p>References <a class="el" href="xnvm__efuseclient__hw_8h.html#ab8eee934e5e4800d305536e4936b1073">XNVM_EFUSE_CACHE_SECURITY_CONTROL_REG_INIT_DIS_1_0_MASK</a>, and <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>.</p>

</div>
</div>
<a class="anchor" id="gac805987f2e5adffda160b2027ff46ed6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadSecMisc1Bits </td>
          <td>(</td>
          <td class="paramtype">XNvm_EfuseSecMisc1Bits *&#160;</td>
          <td class="paramname"><em>SecMisc1Bits</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to read the security miscellaneous1 bits from cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SecMisc1Bits</td><td>- Pointer to the XNvm_EfuseSecMisc1Bits which holds the security miscellaneous1 control bits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful read.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_CACHE_PARITY Error while Cache reload. </li>
</ul>
</dd></dl>
<p>Perform input parameter validation. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Read Directly from cache offset of SEC_MISC1 to fill SecMisc1Bits structure.</p>

<p>References <a class="el" href="xnvm__efuseclient__hw_8h.html#a4ca2f39e91a7754c18443b34c34f3b53">XNVM_EFUSE_CACHE_SEC_MISC_1_LPD_MBIST_EN_2_0_MASK</a>, and <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>.</p>

</div>
</div>
<a class="anchor" id="ga205ea0a6c23f71becd6b927e4c7645de"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadUserFuses </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_nvm___efuse_user_data.html">XNvm_EfuseUserData</a> *&#160;</td>
          <td class="paramname"><em>UserFusesData</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reads User eFuses from Cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">UserFusesData</td><td>- UserFuseData to be read from eFuse Cache.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If reads successfully.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_RD_USER_FUSES Error in reading User fuses. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Read directly from cache offset of the User Data eFuse to fill the UserFuseData address from specified UserFuse number (StartUserFuseNum) and number of eFuses to be read by NumOfUserFuses. Return XST_SUCCESS if the read is successful.</p>

<p>References <a class="el" href="struct_x_nvm___efuse_user_data.html#a1c3ea47433127b0d84b3e3fa61132464">XNvm_EfuseUserData::NumOfUserFuses</a>, <a class="el" href="struct_x_nvm___efuse_user_data.html#a5c5bf8e9da2c4fef7ddd06a61402aea1">XNvm_EfuseUserData::StartUserFuseNum</a>, <a class="el" href="struct_x_nvm___efuse_user_data.html#a893b2b3142d8fb84ccd9656565c9cd46">XNvm_EfuseUserData::UserFuseData</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__versal__error__codes.html#gga86e3961e656aebaac884575ef08d47ada24050f0732a0108a80586db2d697410d">XNVM_EFUSE_ERR_RD_USER_FUSES</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gafd870ce6c862eea492a4ec10a06e539e">XNvm_EfuseReadCacheRange()</a>, <a class="el" href="versal__gen_2versal_2server_2xnvm__efuse_8h.html#a2a1db15eeef9902f0a645221400800ed">XNVM_NUM_OF_USER_FUSES</a>, <a class="el" href="versal__gen_2versal_2server_2xnvm__efuse_8h.html#a2725f9ce462c687284ae8c48effe08c9">XNVM_USER_FUSE_END_NUM</a>, and <a class="el" href="versal__gen_2versal_2server_2xnvm__efuse_8h.html#a016437389a7eadb654ab410d9342fcfc">XNVM_USER_FUSE_START_NUM</a>.</p>

</div>
</div>
<a class="anchor" id="gadf9884d1248299bbcab9c2eb75f3c12d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseResetReadMode </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function disables Margin Read mode of eFUSE controller. </p>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS - if resetting read mode is successful. XST_FAILURE - if there is a failure</dd>
<dd>
<ul>
<li>XST_SUCCESS If resetting read mode is successful.</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Read EFUSE_CFG_REG</p>
<p>Reset Read mode from margin read mode by writing the EFUSE_CFG_REG</p>
<p>Read EFUSE_CFG_REG register.</p>
<p>Reset read mode from margin read mode by writing the EFUSE_CFG_REG.</p>

<p>References <a class="el" href="group__xnvm__util__apis.html#ga0b8d44122a9957c29ed1be2574a53aed">XNvm_EfuseReadReg()</a>.</p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gace7f68b8a561aa12aed7ca066b9e28b2">XNvm_EfuseWrite()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#ga420873a40f9a6f98373837d2fed08bb6">XNvm_EfuseWritePuf()</a>.</p>

</div>
</div>
<a class="anchor" id="gac25f8f0b2dc9d17535f36f547b398f5a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseRevokePpk </td>
          <td>(</td>
          <td class="paramtype">XNvm_PpkType&#160;</td>
          <td class="paramname"><em>PpkRevoke</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XSysMonPsv *&#160;</td>
          <td class="paramname"><em>SysMonInstPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function revokes the Ppk. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">PpkRevoke</td><td>- Xnvm_RevokePpkFlags that tells which Ppk to revoke. </td></tr>
    <tr><td class="paramname">SysMonInstPtr</td><td>- Pointer to the XSysMonPsv structure which contains XSysmonPsv driver instance data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful Revocation.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM Input validation failure. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Fill the XNvm_EfuseMiscCtrlBits structure with PPK INVLD inputs from user and fill the <a class="el" href="struct_x_nvm___efuse_data.html" title="This structure defines sub structures of Versal eFuses to be blown. ">XNvm_EfuseData</a> global structure with the MiscCtrlBits structure and call XNvm_EfuseWrite API. Return the Status.</p>
<p>NULL for SysMonInstPtr indicates, no need to check for Temparature and Voltage before eFUSE programming Non-NULL indicates, perform Temp and Volt monitoring</p>

<p>References <a class="el" href="struct_x_nvm___efuse_data.html#a56cf00130abbe5a1a24c2540f1f1d07d">XNvm_EfuseData::EnvMonitorDis</a>, <a class="el" href="struct_x_nvm___efuse_data.html#a648bf9eac4781c7ceb9152af74f86ba3">XNvm_EfuseData::MiscCtrlBits</a>, <a class="el" href="struct_x_nvm___efuse_data.html#a9a4f3c5af3102245a63c8f5f25acf4de">XNvm_EfuseData::SysMonInstPtr</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaefb1c21b807d6bb2cd0725d0bdc473af">XNvm_EfuseWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="gab18b9343a842ff2c9d533625bd4ffe9a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseSetReadMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__xnvm__efuse__server__apis.html#ga626bd515d5b319991d9b6b337ac3eafa">XNvm_EfuseRdMode</a>&#160;</td>
          <td class="paramname"><em>RdMode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets read mode of eFUSE controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">RdMode</td><td>- Mode to be used for eFUSE read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If Setting read mode is successful.</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Read EFUSE_CFG_REG register.</p>
<p>Read modify and write to EFUSE_CFG_REG to set the read mode.</p>
<p>Read back to check if the write is success, if success return XST_SUCCESS else return error.</p>

<p>References <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa2ac2cd53fea8c1c9ffa24c30ce760244">XNVM_EFUSE_NORMAL_RD</a>, <a class="el" href="xnvm__efuse__common_8c.html#ac098113c35ee3bd002d2ba7c1e7db74e">XNVM_EFUSE_SEC_DEF_VAL_ALL_BIT_SET</a>, <a class="el" href="xnvm__efuse__common_8c.html#adb30690462d9f23f008d70946038ee1d">XNVM_EFUSE_SEC_DEF_VAL_BYTE_SET</a>, and <a class="el" href="group__xnvm__util__apis.html#ga0b8d44122a9957c29ed1be2574a53aed">XNvm_EfuseReadReg()</a>.</p>

<p>Referenced by <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>.</p>

</div>
</div>
<a class="anchor" id="gab12034723a4823aa225ddf9500fc45e7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XNvm_EfuseSetRefClk </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets reference clock of eFUSE controller. </p>
<p>Set Reference clock for efuse by writing to EFUSE_REF_CLK_REG</p>

<p>References <a class="el" href="group__xnvm__util__apis.html#ga64ca5266a4e90002294937021465135a">XNvm_EfuseWriteReg()</a>.</p>

<p>Referenced by <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4e019d9cd1db1fc71ae3b17f615eb8a3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseSetupController </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__xnvm__efuse__server__apis.html#gaf5262e07dfefff15534093f7f3d24fde">XNvm_EfuseOpMode</a>&#160;</td>
          <td class="paramname"><em>Op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__xnvm__efuse__server__apis.html#ga626bd515d5b319991d9b6b337ac3eafa">XNvm_EfuseRdMode</a>&#160;</td>
          <td class="paramname"><em>RdMode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function setups eFUSE controller for given operation and read mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Op</td><td>- Operation to be performed read/program(write). </td></tr>
    <tr><td class="paramname">RdMode</td><td>- Read mode for eFUSE read operation.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>- XST_SUCCESS - eFUSE controller setup for given op.<ul>
<li>XNVM_EFUSE_ERR_UNLOCK - Failed to unlock eFUSE controller register access.</li>
</ul>
</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Op</td><td>- Operation to be performed read/program(write). </td></tr>
    <tr><td class="paramname">RdMode</td><td>- Read mode for eFUSE read operation.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS eFUSE controller setup for given op.</li>
<li>XNVM_EFUSE_ERR_UNLOCK Failed to unlock eFUSE controller register access.</li>
<li>XST_FAILURE If eFUSE controller is not unlocked</li>
<li>XNVM_EFUSE_ERR_PGM_TBIT_PATTERN If TBITS pattern is not matched with the expected value. </li>
</ul>
</dd></dl>
<p>Unlock eFuse controller to write into eFuse registers</p>
<p>Set Read mode</p>
<p>Initialize eFuse Timers</p>
<p>Enable programming of Xilinx reserved eFuse</p>
<p>Check for T bits enabled</p>
<p>Unlock eFuse controller to write into eFuse registers.</p>
<p>Disable power down mode and set reference clock to eFuse.</p>
<p>Set read mode.</p>
<p>Initialize eFuse Timers.</p>
<p>Enable programming of Xilinx reserved eFuse.</p>
<p>Check for T bits for the expected pattern.</p>

<p>References <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga34244e65ac073b03f29ee6a5672da34a">XNvm_EfuseCheckForTBits()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gaf62c488013d769df5cf16476d9dc04ed">XNvm_EfuseDisablePowerDown()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga0f509a4e6fbf01df3a0a5cf4e5b1920a">XNvm_EfuseEnableProgramming()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga48684cc917830291d61d10ec465489e1">XNvm_EfuseInitTimers()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gab18b9343a842ff2c9d533625bd4ffe9a">XNvm_EfuseSetReadMode()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gab12034723a4823aa225ddf9500fc45e7">XNvm_EfuseSetRefClk()</a>, <a class="el" href="group__xnvm__util__apis.html#ga9c7176dc69fd682793be08de6c421d37">XNvm_EfuseUnlockController()</a>, and <a class="el" href="group__xnvm__util__apis.html#ga64ca5266a4e90002294937021465135a">XNvm_EfuseWriteReg()</a>.</p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#ga1180dbb45b4f670e0e34633c8f8eec65">XNvm_EfuseCacheLoadNPrgmProtectionBits()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gace7f68b8a561aa12aed7ca066b9e28b2">XNvm_EfuseWrite()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga475005d64d5d8d97dae539743f7793b9">XNvm_EfuseWriteAesKey()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga6379fae3915b48ae864d0a62b03ccbfd">XNvm_EfuseWriteBootEnvCtrlBits()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga6c5ab114e31ea08f87ba33432d6d058e">XNvm_EfuseWriteBootModeDisable()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gade779f5fb0d828586ba86b87492c0e50">XNvm_EfuseWriteCrc()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga37d5999c68b18d7cd4e95bb4fd9105d2">XNvm_EfuseWriteDecOnly()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga10e7c8ba2f592b3cbd00323d300c1314">XNvm_EfuseWriteDisableInplacePlmUpdate()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga6dfbc852d469426a27978a41ef8b8676">XNvm_EfuseWriteDmeMode()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gade3b92169c879227c5c323aad3916c27">XNvm_EfuseWriteDmeRevoke()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga6c6a62d77c7a495ffaf45390f771dc65">XNvm_EfuseWriteDmeUserKey()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga9b518b5753573d6f65ba1d15c94fce86">XNvm_EfuseWriteFipsInfo()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga53da415156ffb127deaac7c1891a9a50">XNvm_EfuseWriteGlitchConfigBits()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga99b50ea3f231e5b81fd8d3e944daa3ff">XNvm_EfuseWriteIv()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga80edb4b2292a02831cafa2034a62707d">XNvm_EfuseWriteMisc1Bits()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga8e9c61a48bf95850aa3c9aec666c6264">XNvm_EfuseWriteMiscCtrlBits()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga2126e9f3c76ffe698caf235573b1bf59">XNvm_EfuseWriteOffChipRevokeID()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga5093d8298f30653879f3f0f3023029bd">XNvm_EfuseWritePpkHash()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga420873a40f9a6f98373837d2fed08bb6">XNvm_EfuseWritePuf()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gac6d13e9abcbed3286ccda15361a4168a">XNvm_EfuseWritePufSecCtrl()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gacdba7ab23e8c853bedc9896a4bd6de71">XNvm_EfuseWriteRevocationID()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga128ed057d23449dc1229ae0371bdbfc7">XNvm_EfuseWriteRomRsvdBits()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga694dd3629494a12171684e87cd7c4b9f">XNvm_EfuseWriteSecCtrlBits()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#ga9e5e2abc14f75b9dc43d03284af58ade">XNvm_EfuseWriteUds()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf8c865ce6cd02be72da8d08eae8f6030"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseTempAndVoltChecks </td>
          <td>(</td>
          <td class="paramtype">const XSysMonPsv *&#160;</td>
          <td class="paramname"><em>SysMonInstPtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs the Temparature and Voltage checks to ensure that they are in limits before eFuse programming. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SysMonInstPtr</td><td>- Pointer to SysMon instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful Voltage and Temparature checks.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM Input validation failure.</li>
<li>XNVM_EFUSE_ERROR_READ_VOLTAGE_OUT_OF_RANGE Voltage is out of range</li>
<li>XNVM_EFUSE_ERROR_READ_TMEPERATURE_OUT_OF_RANGE Temparature is out of range </li>
</ul>
</dd></dl>
<p>Get the sysmon supply register id.</p>
<p>If supply register id is 0xFFFFFFFF, supply is not enabled, return error.</p>
<p>If supplies are enabled for monitoring, get the new data for the supply. If no new data is available, return error.</p>
<p>Else, clear the New data flag if its set</p>
<p>Read the raw voltage value from the supply.</p>
<p>Convert raw to voltage.</p>
<p>Check for voltage operating limits. Return error if voltage is not withing operating limits.</p>
<p>Read the raw temparature value from the sysmon satellite.</p>
<p>Convert IntegralPart and FractionalPart to absolute values.</p>
<p>Check for temparature operating limits. Return error if temparature is not withing operating limits.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca5889e498bb62933e403a7c28332ee064">XNVM_EFUSE_ERROR_NO_SUPPLIES_ENABLED</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca6aed89fc61667e4a2784d0099fd4f769">XNVM_EFUSE_ERROR_READ_TMEPERATURE_OUT_OF_RANGE</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca92857890de785d9496d723d7cbe56ab5">XNVM_EFUSE_ERROR_READ_VOLTAGE_OUT_OF_RANGE</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca8f2f820cef391a9e44e23feb978cca50">XNVM_EFUSE_ERROR_SYSMON_NO_NEW_DATA</a>, <a class="el" href="xnvm__efuse__common_8c.html#ad803c38ffc552fe2bc5f6c5f8e6dab70">XNVM_EFUSE_FRACTION_MUL_VALUE</a>, <a class="el" href="xnvm__efuse__common_8c.html#ac098113c35ee3bd002d2ba7c1e7db74e">XNVM_EFUSE_SEC_DEF_VAL_ALL_BIT_SET</a>, <a class="el" href="xnvm__efuse__common_8c.html#a75a6f7f12d78cdad69940f49e27811d3">XNVM_EFUSE_SYSMON_NUM_SUPPLIES_PER_FLAG</a>, <a class="el" href="xnvm__efuse__common_8c.html#a3cff342e0039664d80d62412e1494341">XNVM_EFUSE_SYSMONPSV_TIMEOUT</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga187d1e419e66b1ba10a3a73debd9904d">XNVM_EFUSE_WORD_LEN</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gac3c8a8519db111050a86072af33a7f9d">XNvm_GetSysmonSupplyRegId()</a>.</p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gace7f68b8a561aa12aed7ca066b9e28b2">XNvm_EfuseWrite()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga475005d64d5d8d97dae539743f7793b9">XNvm_EfuseWriteAesKey()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga6379fae3915b48ae864d0a62b03ccbfd">XNvm_EfuseWriteBootEnvCtrlBits()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga6c5ab114e31ea08f87ba33432d6d058e">XNvm_EfuseWriteBootModeDisable()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gade779f5fb0d828586ba86b87492c0e50">XNvm_EfuseWriteCrc()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga37d5999c68b18d7cd4e95bb4fd9105d2">XNvm_EfuseWriteDecOnly()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga10e7c8ba2f592b3cbd00323d300c1314">XNvm_EfuseWriteDisableInplacePlmUpdate()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga6dfbc852d469426a27978a41ef8b8676">XNvm_EfuseWriteDmeMode()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gade3b92169c879227c5c323aad3916c27">XNvm_EfuseWriteDmeRevoke()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga6c6a62d77c7a495ffaf45390f771dc65">XNvm_EfuseWriteDmeUserKey()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga9b518b5753573d6f65ba1d15c94fce86">XNvm_EfuseWriteFipsInfo()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga53da415156ffb127deaac7c1891a9a50">XNvm_EfuseWriteGlitchConfigBits()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga99b50ea3f231e5b81fd8d3e944daa3ff">XNvm_EfuseWriteIv()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga80edb4b2292a02831cafa2034a62707d">XNvm_EfuseWriteMisc1Bits()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga8e9c61a48bf95850aa3c9aec666c6264">XNvm_EfuseWriteMiscCtrlBits()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga2126e9f3c76ffe698caf235573b1bf59">XNvm_EfuseWriteOffChipRevokeID()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga5093d8298f30653879f3f0f3023029bd">XNvm_EfuseWritePpkHash()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga420873a40f9a6f98373837d2fed08bb6">XNvm_EfuseWritePuf()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gac6d13e9abcbed3286ccda15361a4168a">XNvm_EfuseWritePufSecCtrl()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gacdba7ab23e8c853bedc9896a4bd6de71">XNvm_EfuseWriteRevocationID()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga128ed057d23449dc1229ae0371bdbfc7">XNvm_EfuseWriteRomRsvdBits()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga694dd3629494a12171684e87cd7c4b9f">XNvm_EfuseWriteSecCtrlBits()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#ga9e5e2abc14f75b9dc43d03284af58ade">XNvm_EfuseWriteUds()</a>.</p>

</div>
</div>
<a class="anchor" id="gace7f68b8a561aa12aed7ca066b9e28b2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWrite </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_nvm___efuse_data.html">XNvm_EfuseData</a> *&#160;</td>
          <td class="paramname"><em>WriteNvm</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used as a wrapper to program below eFuses AES key User key 0 User key 1 PPK0/PPK1/PPK2/PPK3/PPK4 hash IVs Revocation Ids User Fuses Secure and Control bits. </p>
<pre class="fragment">            Miscellaneous Control bits.
            Security Miscellaneous1 bits.
            BootEnvCtrl bits.
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">WriteNvm</td><td>- Pointer to Efuse data to be written.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Specified data write.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_NTHG_TO_BE_PROGRAMMED If nothing is programmed.</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING If error before programming.</li>
<li>XNVM_EFUSE_ERR_LOCK Lock eFUSE Control Register.</li>
</ul>
</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>After eFUSE programming is complete, the cache is automatically reloaded so all programmed eFUSE bits can be directly read from cache. If there is any CACHE_ERROR, user can reboot the system to reload the cache. </dd></dl>
<p>Check for input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>NULL for SysMonInstPtr indicates, no need to check for Temparature and Voltage before eFUSE programming. Non-NULL indicates, perform Temp and Volt monitoring.</p>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock Efuse controller.</p>
<p>Validate all the write requests for AesKeys, PPK hash 0/1/2/3/4, Revocation Ids, Ivs, DecOnly, User eFuses, Glitch configuration, BootEnvCtrl, Misc1 Ctrl and offchip revocation eFuses.</p>
<p>Check if GlitchCfgBits user config is NULL, else program Glitch configuration, glitch detection wrlk , glitch gdrommonen and glitch haltbooten eFUSEs.</p>
<p>Check for AesKeys configuration, if NULL do nothing else program aes key eFUSE with the user provided data.</p>
<p>Check for PpkHash configuration, if NULL do nothing else program ppk hash eFUSEs with the user provided data.</p>
<p>Check for Ivs configuration, if NULL do nothing else program IV eFUSE with the user provided data.</p>
<p>Check for DecOnly configuration, if NULL do nothing else program DecOnly eFUSEs.</p>
<p>Check for RevokeIds configuration, if NULL do nothing else program RevocationID eFUSEs with the user provided data.</p>
<p>Check for OffChipIds configuration, if NULL do nothing else program OffChipID eFUSEs with the user provided data.</p>
<p>Check for MiscCtrlBits configuration, if NULL do nothing else program MiscCtrl eFUSEs with the user provided data.</p>
<p>Check for UserFuses configuration, if NULL do nothing else program user eFUSEs with the user provided data.</p>
<p>Check for Misc1Bits configuration, if NULL do nothing else program Misc1Ctrl eFUSEs with the user provided data.</p>
<p>Check for BootEnvCtrl configuration, if NULL do nothing else program BootEnvCtrl eFUSEs with the user provided data.</p>
<p>Check for SecCtrlBits configuration, if NULL do nothing else program SecCtrl eFUSEs with the user provided data.</p>
<p>Reload the eFUSE cache.</p>
<p>Program the Protection Row Efuses.</p>
<p>Reset Read mode.</p>
<p>Disable programming mode.</p>
<p>Lock Efuse controller.</p>

<p>References <a class="el" href="struct_x_nvm___efuse_data.html#a40a617dfe5718df762fe48c2c67b0826">XNvm_EfuseData::AesKeys</a>, <a class="el" href="struct_x_nvm___efuse_data.html#a04756918acbdd14679a239840ce9740a">XNvm_EfuseData::BootEnvCtrl</a>, <a class="el" href="struct_x_nvm___efuse_data.html#aa40b3b4e453639a62a2fdf1705cd906a">XNvm_EfuseData::DecOnly</a>, <a class="el" href="struct_x_nvm___efuse_data.html#a56cf00130abbe5a1a24c2540f1f1d07d">XNvm_EfuseData::EnvMonitorDis</a>, <a class="el" href="struct_x_nvm___efuse_data.html#a58b017066d4c8fa115c357ecbbe5e31b">XNvm_EfuseData::GlitchCfgBits</a>, <a class="el" href="struct_x_nvm___efuse_data.html#a2cf1b8014de6a6140273c1c62b009901">XNvm_EfuseData::Ivs</a>, <a class="el" href="struct_x_nvm___efuse_data.html#ae72e320353ddac96b4f459279d531cc5">XNvm_EfuseData::Misc1Bits</a>, <a class="el" href="struct_x_nvm___efuse_data.html#a648bf9eac4781c7ceb9152af74f86ba3">XNvm_EfuseData::MiscCtrlBits</a>, <a class="el" href="struct_x_nvm___efuse_data.html#a1bbdf191a788ec60235e38651d0a1402">XNvm_EfuseData::OffChipIds</a>, <a class="el" href="struct_x_nvm___efuse_data.html#abab6c07013ca54a3578ae97f8b864df2">XNvm_EfuseData::PpkHash</a>, <a class="el" href="struct_x_nvm___efuse_data.html#aa5b39fcba9da9972e4c88c239709e68f">XNvm_EfuseData::RevokeIds</a>, <a class="el" href="struct_x_nvm___efuse_data.html#a51e0939c214c8041f90a14a9901c0e99">XNvm_EfuseData::SecCtrlBits</a>, <a class="el" href="struct_x_nvm___efuse_data.html#a9a4f3c5af3102245a63c8f5f25acf4de">XNvm_EfuseData::SysMonInstPtr</a>, <a class="el" href="struct_x_nvm___efuse_data.html#ac4074f3afc3b16a7fa461b72647c46af">XNvm_EfuseData::UserFuses</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca3a9a956a04c34687c49520e2646fefca">XNVM_EFUSE_ERR_NTHG_TO_BE_PROGRAMMED</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__util__apis.html#ga0210acfa1906f9a6d4c462ca0c214552">XNvm_EfuseDisableProgramming()</a>, <a class="el" href="group__xnvm__util__apis.html#ga3024ec2e49b24a72d30ffd6ca24fd056">XNvm_EfuseLockController()</a>, <a class="el" href="group__xnvm__util__apis.html#gadf9884d1248299bbcab9c2eb75f3c12d">XNvm_EfuseResetReadMode()</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="ga475005d64d5d8d97dae539743f7793b9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteAesKey </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XNvm_AesKeyType&#160;</td>
          <td class="paramname"><em>KeyType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XNvm_AesKey *&#160;</td>
          <td class="paramname"><em>EfuseKey</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to take care of prerequisites to program below eFuses AES key User key 0 User key 1. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user. when set to true it will not check for voltage and temparature limits. </td></tr>
    <tr><td class="paramname">KeyType</td><td>- Type of key to be programmed(AesKey/UserKey0/UserKey1) </td></tr>
    <tr><td class="paramname">EfuseKey</td><td>- Pointer to the XNvm_AesKey structure, which holds Aes key to be programmed to eFuse.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful Write.</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming eFuse.</li>
<li>XNVM_EFUSE_ERR_WRITE_AES_KEY Error while writing AES key.</li>
<li>XNVM_EFUSE_ERR_WRITE_USER_KEY0 Error while writing User key0.</li>
<li>XNVM_EFUSE_ERR_WRITE_USER_KEY1 Error while writing User key1. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse controller. On error return appropriate failure code.</p>
<p>Validate the Aes write request before writing AES into eFuse. Return XNVM_EFUSE_ERR_BEFORE_PROGRAMMING, if not success.</p>
<p>Program Aes key into eFuse.</p>
<p>Lock eFuse Controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>, and <a class="el" href="group__xnvm__versal__net__api__ids.html#gaa35f9d7952af5fccaed74ba5ae579191">XNvm_EfuseValidateAesKeyWriteReq()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6379fae3915b48ae864d0a62b03ccbfd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteBootEnvCtrlBits </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BootEnvCtrlBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs BootEnvCtrl eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">BootEnvCtrlBits</td><td>- BootEnvCtrl data to be written to eFuses.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write.</li>
<li>XNVM_EFUSE_ERR_WRITE_BOOT_ENV_CTRL Error while writing BootEnvCtrl Bits</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming. </li>
</ul>
</dd></dl>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Compute BootEnvCtrl programmable bits to program.</p>
<p>Program and verify miscellaneous 1 controls bits. Return XNVM_EFUSE_ERR_WRITE_BOOT_ENV_CTRL upon failure.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fcaf3d8b746fb7cd55d904c13596ebbf448">XNVM_EFUSE_ERR_WRITE_BOOT_ENV_CTRL</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6c5ab114e31ea08f87ba33432d6d058e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteBootModeDisable </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BootModeMask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs BootModeDisable eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">BootModeMask</td><td>- BootModeMask to be programmed to BootModeDisable eFuses.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write.</li>
<li>XNVM_EFUSE_ERR_WRITE_BOOT_MODE_DISABLE Error while writing BootModeDisable eFuses.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid input parameter.</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming. </li>
</ul>
</dd></dl>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Program and verify boot mode disable data.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aa8d9407dfebf09d048d7a62d5aff60b19">XNVM_EFUSE_ERR_WRITE_BOOT_MODE_DISABLE</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="gade779f5fb0d828586ba86b87492c0e50"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteCrc </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Crc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs EFUSE_CRC_SALT eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">Crc</td><td>- Crc value to be written.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write.</li>
</ul>
</dd></dl>
<ul>
<li>XNVM_EFUSE_ERR_WRITE_CRC_SALT Error while writing Crc salt eFuses.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid input parameter.</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming. </li>
</ul>
<p>Perform Environmental monitoring checks</p>
<p>Read CRC eFUSE cache offset. Return XNVM_EFUSE_ERR_WRITE_CRC | XNVM_EFUSE_ERR_BEFORE_PROGRAMMING if crc non zero.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Program and verify Uds Crc data. Return XNVM_EFUSE_ERR_WRITE_CRC upon failure.</p>
<p>Program and verify Uds Crc salt data. Return XNVM_EFUSE_ERR_WRITE_CRC_SALT upon failure.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xnvm__efuse__server__apis.html#ga4567e6d196d2e68e334bf94c42719b33">XNVM_EFUSE_CRC_SALT</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aae2ba51fe45a286560091261788a77fd0">XNVM_EFUSE_ERR_WRITE_CRC</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aac1149a7a7a86242e7ad7ca455c18e311">XNVM_EFUSE_ERR_WRITE_CRC_SALT</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__util__apis.html#ga0b8d44122a9957c29ed1be2574a53aed">XNvm_EfuseReadReg()</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="ga37d5999c68b18d7cd4e95bb4fd9105d2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteDecOnly </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to program below DEC_ONLY fuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If DEC_ONLY eFuse is programmed successfully.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_WRITE_DEC_EFUSE_ONLY Error in DEC_ONLY programming.</li>
<li>XNVM_EFUSE_ERR_CACHE_PARITY Error in Cache reload after programming. </li>
</ul>
</dd></dl>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Validate Decrypt only request before programming. Return XNVM_EFUSE_ERR_BEFORE_PROGRAMMING, if not success.</p>
<p>Program and verify decrypt only data. Return XNVM_EFUSE_ERR_WRITE_DEC_EFUSE_ONLY upon failure.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="xnvm__efuseclient__hw_8h.html#a88247ae52e7771b1040b0be80956e1be">XNVM_EFUSE_CACHE_DEC_EFUSE_ONLY_MASK</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca88670dfdfbd1e23ada1dd185f09a032f">XNVM_EFUSE_ERR_WRITE_DEC_EFUSE_ONLY</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>, and <a class="el" href="group__xnvm__versal__net__api__ids.html#ga2aca2c53d5bb8c2d003e5a5e4097b884">XNvm_EfuseValidateDecOnlyRequest()</a>.</p>

</div>
</div>
<a class="anchor" id="ga10e7c8ba2f592b3cbd00323d300c1314"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteDisableInplacePlmUpdate </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs PLM_UPDATE eFuse. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write.</li>
<li>XNVM_EFUSE_ERR_WRITE_PLM_UPDATE Error while writing PlmUpdate eFuse.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid input parameter.</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming. </li>
</ul>
</dd></dl>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Program and verify Plm update data.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aadfd9d95fc65282b25fa4826261a22e1b">XNVM_EFUSE_ERR_WRITE_PLM_UPDATE</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga9a082358f66542e6dadc3c622b552870">XNVM_EFUSE_PROGRAM_VERIFY</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6dfbc852d469426a27978a41ef8b8676"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteDmeMode </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>DmeMode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs DmeMode eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">DmeMode</td><td>- DmeMode eFuses to be written.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write.</li>
<li>XNVM_EFUSE_ERR_WRITE_DME_MODE Error while writing DmeMode eFuse.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid input parameter.</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming. </li>
</ul>
</dd></dl>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Program and verify dme mode data</p>
<p>Lock eFuse controller</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aa0a7f31ccde9a847cc5a2ce1ad9dc8282">XNVM_EFUSE_ERR_WRITE_DME_MODE</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aa04b09447ce5e71f8836f7c8211cc41a7">XNVM_EFUSE_ERROR_DME_NOT_SUPPORTED</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="gade3b92169c879227c5c323aad3916c27"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteDmeRevoke </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XNvm_DmeRevoke&#160;</td>
          <td class="paramname"><em>RevokeNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs DME Revoke eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">RevokeNum</td><td>- DmeRevoke eFuse number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid input parameter.</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming.</li>
<li>XNVM_EFUSE_ERR_WRITE_DME_REVOKE_0 Error while writing DmeRevoke 0.</li>
<li>XNVM_EFUSE_ERR_WRITE_DME_REVOKE_1 Error while writing DmeRevoke 1.</li>
<li>XNVM_EFUSE_ERR_WRITE_DME_REVOKE_2 Error while writing DmeRevoke 2.</li>
<li>XNVM_EFUSE_ERR_WRITE_DME_REVOKE_3 Error while writing DmeRevoke 3. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Perform environmental monitoring checks.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Program and verify dme revoke data.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aa1dfef91bb222440d6349d41d62b0f3ba">XNVM_EFUSE_ERR_WRITE_DME_REVOKE_0</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gab8f5eff3de624d650309262ed9243b29">XNVM_EFUSE_ERROR_BYTE_SHIFT</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aa04b09447ce5e71f8836f7c8211cc41a7">XNVM_EFUSE_ERROR_DME_NOT_SUPPORTED</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga9a082358f66542e6dadc3c622b552870">XNVM_EFUSE_PROGRAM_VERIFY</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6c6a62d77c7a495ffaf45390f771dc65"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteDmeUserKey </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XNvm_DmeKeyType&#160;</td>
          <td class="paramname"><em>KeyType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XNvm_DmeKey *&#160;</td>
          <td class="paramname"><em>EfuseKey</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs DME userkey eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">KeyType</td><td>- DME Key type DME_USER_KEY_0/1/2/3 </td></tr>
    <tr><td class="paramname">EfuseKey</td><td>- Pointer to DME userkey structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid input parameter.</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM, if input parameters are invalid.</p>
<p>Perform Environmental monitoring checks.</p>
<p>Check if DmeMode eFuse is programmed. If yes, return failure.</p>
<p>Else unlock eFuse controller. Return appropriate error code if not success.</p>
<p>Program dme user key into eFuse.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aa04b09447ce5e71f8836f7c8211cc41a7">XNVM_EFUSE_ERROR_DME_NOT_SUPPORTED</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>, and <a class="el" href="group__xnvm__versal__net__api__ids.html#ga05cd2825902d18394a7ba8c56c5342b6">XNvm_IsDmeModeEn()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9b518b5753573d6f65ba1d15c94fce86"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteFipsInfo </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>FipsMode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>FipsVersion</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to to take care of prerequisitis to program FIPS mode and FIPS version eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">FipsMode</td><td>- Fips mode to be written to eFuses. </td></tr>
    <tr><td class="paramname">FipsVersion</td><td>- Fips version to be written to eFuses.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid input parameter.</li>
</ul>
</dd></dl>
<ul>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming. </li>
</ul>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Validate Fips information. Return XNVM_EFUSE_ERR_BEFORE_PROGRAMMING upon failure.</p>
<p>Program Fips information into eFuse.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gaf56f394f0bacd163dadfe4b8f5ec0b3b">XNVM_EFUSE_MAX_FIPS_MODE</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga79f1a0c29e255f56430d6ef50d224b89">XNVM_EFUSE_MAX_FIPS_VERSION</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>, and <a class="el" href="group__xnvm__versal__net__api__ids.html#ga989884994fda65f39b2f66ced494f83d">XNvm_EfuseValidateFipsInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="ga53da415156ffb127deaac7c1891a9a50"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteGlitchConfigBits </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>GlitchConfig</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to program Glitch Configuration given by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user. when set to true it will not check for voltage and temparature limits. </td></tr>
    <tr><td class="paramname">GlitchConfig</td><td>- Pointer to the Glitch configuration</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful Write.</li>
<li>XNVM_EFUSE_ERR_WRITE_GLITCH_CFG Error in programming of glitch configuration.</li>
<li>XNVM_EFUSE_ERR_WRITE_GLITCH_WRLK Error in programming glitch write lock. </li>
</ul>
</dd></dl>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse controller. On error return appropriate failure code.</p>
<p>Compute glitch config programmable bits to program.</p>
<p>Program and verify the glitch config bits.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fcace0e87d10aefbf259db51b62f4f4cbdc">XNVM_EFUSE_ERR_WRITE_GLITCH_CFG</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca0da58aab9de6ef9bd411d83291bdd7d2">XNVM_EFUSE_ERR_WRITE_GLITCH_WRLK</a>, <a class="el" href="xnvm__efuseclient__hw_8h.html#a0dc7578cddd42b0bba20382d3f7cd6ef">XNVM_EFUSE_GLITCH_CONFIG_DATA_MASK</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga9a082358f66542e6dadc3c622b552870">XNVM_EFUSE_PROGRAM_VERIFY</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="ga99b50ea3f231e5b81fd8d3e944daa3ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteIv </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XNvm_IvType&#160;</td>
          <td class="paramname"><em>IvType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XNvm_Iv *&#160;</td>
          <td class="paramname"><em>EfuseIv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to to take care of prerequisitis to program below IV eFuses XNVM_EFUSE_ERR_WRITE_META_HEADER_IV XNVM_EFUSE_ERR_WRITE_BLK_OBFUS_IV XNVM_EFUSE_ERR_WRITE_PLM_IV XNVM_EFUSE_ERR_WRITE_DATA_PARTITION_IV. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user. when set to true it will not check for voltage and temparature limits. </td></tr>
    <tr><td class="paramname">IvType</td><td>- Type of IV eFuses to be programmmed </td></tr>
    <tr><td class="paramname">EfuseIv</td><td>- Pointer to the XNvm_EfuseIvs structure which holds IV to be programmed to eFuse.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful Write.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_WRITE_META_HEADER_IV Error while writing Meta Iv.</li>
<li>XNVM_EFUSE_ERR_WRITE_BLK_OBFUS_IV Error while writing BlkObfus IV.</li>
<li>XNVM_EFUSE_ERR_WRITE_PLM_IV Error while writing PLM IV.</li>
<li>XNVM_EFUSE_ERR_WRITE_DATA_PARTITION_IV Error while writing Data Partition IV. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM, if input parameters are invalid.</p>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse controller. On error return appropriate failure code.</p>
<p>Validate IVs write request before writing IVs into eFuse. Return XNVM_EFUSE_ERR_BEFORE_PROGRAMMING, if not success.</p>
<p>Program IVs into eFuse.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>, and <a class="el" href="group__xnvm__versal__net__api__ids.html#gabe9934f94cf8712b7b30ad3502eb5565">XNvm_EfuseValidateIvWriteReq()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4751c17a98da016fea4e701d67d5154b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteIVs </td>
          <td>(</td>
          <td class="paramtype">XNvm_EfuseIvs *&#160;</td>
          <td class="paramname"><em>EfuseIv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XSysMonPsv *&#160;</td>
          <td class="paramname"><em>SysMonInstPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs the eFUSEs with the IV. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EfuseIv</td><td>- Pointer to the XNvm_EfuseIvs, which contains IVs data to be written to the Efuse.. </td></tr>
    <tr><td class="paramname">SysMonInstPtr</td><td>- Pointer to the XSysMonPsv structure which contains XSysmonPsv driver instance data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful Write.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_WRITE_META_HEADER_IV Error while writing MetaHeader Iv.</li>
<li>XNVM_EFUSE_ERR_WRITE_BLK_OBFUS_IV Error while writing BlkObfus IV.</li>
<li>XNVM_EFUSE_ERR_WRITE_PLM IV Error while writing PLM IV.</li>
<li>XNVM_EFUSE_ERR_WRITE_DATA_PARTITION_IV Error while writing Data Partition IV.</li>
<li>XNVM_EFUSE_ERR_NTHG_TO_BE_PROGRAMMED If NULL request is sent. </li>
</ul>
</dd></dl>
<p>Validate Input parameters. Return XNVM_EFUSE_ERR_NTHG_TO_BE_PROGRAMMED if input parameters are invalid.</p>
<p>NULL for SysMonInstPtr indicates, no need to check for Temparature and Voltage before eFUSE programming. Non-NULL indicates, perform Temp and Volt monitoring.</p>
<p>Fill the EfuseData structure with the IV address, Environmental disable flag and remaining as NULL.</p>
<p>Fill the <a class="el" href="struct_x_nvm___efuse_data.html" title="This structure defines sub structures of Versal eFuses to be blown. ">XNvm_EfuseData</a> global structure with the EfuseIv structure and call XNvm_EfuseWrite API. Return the Status.</p>

<p>References <a class="el" href="struct_x_nvm___efuse_data.html#a56cf00130abbe5a1a24c2540f1f1d07d">XNvm_EfuseData::EnvMonitorDis</a>, <a class="el" href="struct_x_nvm___efuse_data.html#a2cf1b8014de6a6140273c1c62b009901">XNvm_EfuseData::Ivs</a>, <a class="el" href="struct_x_nvm___efuse_data.html#a9a4f3c5af3102245a63c8f5f25acf4de">XNvm_EfuseData::SysMonInstPtr</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca3a9a956a04c34687c49520e2646fefca">XNVM_EFUSE_ERR_NTHG_TO_BE_PROGRAMMED</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaefb1c21b807d6bb2cd0725d0bdc473af">XNvm_EfuseWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="ga80edb4b2292a02831cafa2034a62707d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteMisc1Bits </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Misc1Bits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs Misc1Ctrl eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">Misc1Bits</td><td>- Misc1Bits data to be written to eFuses.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write.</li>
<li>XNVM_EFUSE_ERR_WRITE_MISC1_CTRL_BITS Error while writing Misc1CtrlBits</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming. </li>
</ul>
</dd></dl>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Compute security misc1 programmable bits to program.</p>
<p>Program and verify miscellaneous 1 controls bits. Return XNVM_EFUSE_ERR_WRITE_MISC1_CTRL_BITS upon failure.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aa006c16a2366abe20993fab7dd8263e02">XNVM_EFUSE_ERR_WRITE_MISC1_CTRL_BITS</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8e9c61a48bf95850aa3c9aec666c6264"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteMiscCtrlBits </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>MiscCtrlBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs MiscCtrl eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">MiscCtrlBits</td><td>- MiscCtrl data to be written to eFuses.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write.</li>
<li>XNVM_EFUSE_ERR_WRITE_MISC_CTRL_BITS Error while writing MiscCtrlBits</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming. </li>
</ul>
</dd></dl>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Compute MiscCtrl programmable bits to program.</p>
<p>Program and verify miscellaneous control bits. Return XNVM_EFUSE_ERR_WRITE_MISC_CTRL_BITS upon failure.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aa34488f9635226c952a8107df1983203d">XNVM_EFUSE_ERR_WRITE_MISC_CTRL_BITS</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2126e9f3c76ffe698caf235573b1bf59"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteOffChipRevokeID </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>OffchipIdNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs OffChip Revoke eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">OffchipIdNum</td><td>- OffchipIdNum number to program OffchipId eFuses.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write of OffChipId.</li>
<li>XNVM_EFUSE_ERR_WRITE_OFFCHIP_REVOKE_IDS Error in writing OffChipId eFuses.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_CACHE_PARITY Error in Cache reload. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM, if input parameters are invalid.</p>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Program and verify revocation Ids data. Return XNVM_EFUSE_ERR_WRITE_OFFCHIP_REVOKE_IDS upon failure.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fcabfe628511dad3c04519d501c8f4ea64a">XNVM_EFUSE_ERR_WRITE_OFFCHIP_REVOKE_IDS</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga9a082358f66542e6dadc3c622b552870">XNVM_EFUSE_PROGRAM_VERIFY</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>, and <a class="el" href="versal__gen_2versal_2server_2xnvm__efuse_8h.html#a796a382bfe9b1db5b6d9ac7c37d5b3cf">XNVM_MAX_REVOKE_ID_FUSES</a>.</p>

</div>
</div>
<a class="anchor" id="ga5093d8298f30653879f3f0f3023029bd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWritePpkHash </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XNvm_PpkType&#160;</td>
          <td class="paramname"><em>PpkType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XNvm_PpkHash *&#160;</td>
          <td class="paramname"><em>EfuseHash</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to to take care of prerequisitis to program below eFuses PPK0_HASH PPK1_HASH PPK2_HASH. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user. when set to true it will not check for voltage and temparature limits. </td></tr>
    <tr><td class="paramname">PpkType</td><td>- Type of ppk hash to be programmed(PPK0/PPK1/PPK2) </td></tr>
    <tr><td class="paramname">EfuseHash</td><td>- Pointer to the XNvm_PpkHash structure which holds PPK hash to be programmed to eFuse.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Successful Write.</li>
<li>XNVM_EFUSE_ERR_WRITE_PPK0_HASH Error while writing PPK0 Hash.</li>
<li>XNVM_EFUSE_ERR_WRITE_PPK1_HASH Error while writing PPK1 Hash.</li>
<li>XNVM_EFUSE_ERR_WRITE_PPK2_HASH Error while writing PPK2 Hash. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM, if input parameters are invalid.</p>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse controller. On error return appropriate failure code.</p>
<p>Validate the PPK hash write request before writing PPK into eFuse. Return XNVM_EFUSE_ERR_BEFORE_PROGRAMMING, if not success.</p>
<p>Program PPK hash into eFuse.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>, and <a class="el" href="group__xnvm__versal__net__api__ids.html#gacc264f1596fadaaf19db535bf527435a">XNvm_EfuseValidatePpkHashWriteReq()</a>.</p>

</div>
</div>
<a class="anchor" id="ga420873a40f9a6f98373837d2fed08bb6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWritePuf </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_nvm___efuse_puf_hd.html">XNvm_EfusePufHd</a> *&#160;</td>
          <td class="paramname"><em>PufHelperData</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs the eFUSEs with the PUF helper data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">PufHelperData</td><td>- Pointer to the Puf helper data to be written to eFuse.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If programs successfully.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM Input validation failure</li>
<li>XNVM_EFUSE_ERR_RD_PUF_SEC_CTRL Error while reading PufSecCtrl.</li>
<li>XNVM_EFUSE_ERR_WRITE_PUF_HELPER_DATA Error while writing Puf helper data.</li>
<li>XNVM_EFUSE_ERR_WRITE_PUF_SYN_DATA Error while writing Puf Syndata.</li>
<li>XNVM_EFUSE_ERR_WRITE_PUF_CHASH Error while writing Puf Chash.<ul>
<li>XNVM_EFUSE_ERR_WRITE_PUF_AUX Error while writing Puf Aux.</li>
</ul>
</li>
<li>XNVM_EFUSE_ERR_FUSE_PROTECTED Error if Puf is protected from write</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>To generate PufSyndromeData please use XPuf_Registration API. </dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Read from cache offset of Puf SecCtrl bits.</p>
<p>NULL for SysMonInstPtr indicates, no need to check for Temparature and Voltage before eFUSE programming Non-NULL indicates, perform Temp and Volt monitoring.</p>
<p>Check Environmental monitoring checks for temperature and voltage.</p>
<p>Unlock Efuse controller.</p>
<p>Set eFuse controller parameters for efuse write operation.</p>
<p>Programming Puf Security control bits.</p>
<p>Reload the cache once the programming of all the efuses requested are programmed.</p>
<p>Program Corresponding Protection Row eFuses.</p>
<p>Reset Read mode.</p>
<p>Disable eFuse programming mode.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="struct_x_nvm___efuse_puf_hd.html#a82555df77ab1cc86218bc1a758fe3762">XNvm_EfusePufHd::Aux</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd.html#afef4122244237c9ecf7f40374428c0e7">XNvm_EfusePufHd::Chash</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd.html#a2d1197f22e08ba160a10a806ad97d267">XNvm_EfusePufHd::EfuseSynData</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd.html#aa69c5a71f3f53c6d5dba758cb583743d">XNvm_EfusePufHd::EnvMonitorDis</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd.html#a4c0c398e0df5e2abdfd9d840cbf17cd6">XNvm_EfusePufHd::PrgmPufHelperData</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd.html#a602788f5b4a2311d088c59c63655ad9a">XNvm_EfusePufHd::PrgmPufSecCtrlBits</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd.html#ae8d5ebfbd30ef803f6aac0708e33b351">XNvm_EfusePufHd::PufSecCtrlBits</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd.html#ae66ad8afb7b50f90f82c8f80f910bae9">XNvm_EfusePufHd::SysMonInstPtr</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fcad266d3a6d6afe7285781c476aa586575">XNVM_EFUSE_ERR_FUSE_PROTECTED</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca28f2ce2494dda5db9650cfb6a0d1f7fe">XNVM_EFUSE_ERR_WRITE_PUF_AUX</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fcaedce51882be9919700e45a3ab5c1eec8">XNVM_EFUSE_ERR_WRITE_PUF_CHASH</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fcabae15d0926809cb3804579dea961e4ee">XNVM_EFUSE_ERR_WRITE_PUF_HELPER_DATA</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca107930798ea8a811da851ef48f4fba32">XNVM_EFUSE_ERR_WRITE_PUF_SYN_DATA</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gac098113c35ee3bd002d2ba7c1e7db74e">XNVM_EFUSE_SEC_DEF_VAL_ALL_BIT_SET</a>, <a class="el" href="group__xnvm__util__apis.html#ga0210acfa1906f9a6d4c462ca0c214552">XNvm_EfuseDisableProgramming()</a>, <a class="el" href="group__xnvm__util__apis.html#ga3024ec2e49b24a72d30ffd6ca24fd056">XNvm_EfuseLockController()</a>, <a class="el" href="group__xnvm__util__apis.html#gadf9884d1248299bbcab9c2eb75f3c12d">XNvm_EfuseResetReadMode()</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3e5b32d4a7ec60464f46788458b5e67f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWritePuf </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_nvm___efuse_puf_hd_addr.html">XNvm_EfusePufHdAddr</a> *&#160;</td>
          <td class="paramname"><em>PufHelperData</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs PUF ctrl and PUF helper data, Chash and Aux. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">PufHelperData</td><td>- Pointer to <a class="el" href="struct_x_nvm___efuse_puf_hd_addr.html" title="&lt; Puf helper data ">XNvm_EfusePufHdAddr</a> structure</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write.</li>
<li>XNVM_EFUSE_ERR_WRITE_PUF_HELPER_DATA Error while writing Puf helper data.</li>
<li>XNVM_EFUSE_ERR_WRITE_PUF_SYN_DATA Error while writing Puf Syndata.</li>
<li>XNVM_EFUSE_ERR_WRITE_PUF_CHASH Error while writing Puf Chash.</li>
<li>XNVM_EFUSE_ERR_WRITE_PUF_AUX Error while writing Puf Aux.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid input parameter.</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>To generate PufSyndromeData please use XPuf_Registration API. </dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Read directly from cache offset of the PufCtrl data.</p>
<p>Perform Environmental monitoring checks.</p>
<p>Check if Puf helper data is empty. Return XNVM_EFUSE_ERR_BEFORE_PROGRAMMING if empty.</p>
<p>Write puf syndrome data into eFuse. Return XNVM_EFUSE_ERR_WRITE_PUF_SYN_DATA upon failure.</p>
<p>Write puf chash data into eFuse. Return XNVM_EFUSE_ERR_WRITE_PUF_CHASH upon failure.</p>
<p>Write puf aux into eFuse. Return XNVM_EFUSE_ERR_WRITE_PUF_AUX upon failure.</p>
<p>Write puf RoSwap data into eFuse. Return XNVM_EFUSE_ERR_WRITE_RO_SWAP upon failure.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="struct_x_nvm___efuse_puf_hd_addr.html#aa27d5685b25ef0234488570da2fe5a60">XNvm_EfusePufHdAddr::Aux</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd_addr.html#ad03593176be0624439372f1424511175">XNvm_EfusePufHdAddr::Chash</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd_addr.html#a3a0c0de72cfec459c2784fb72b9f3ebe">XNvm_EfusePufHdAddr::EfuseSynData</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd_addr.html#a9ebc5023cb9c1f0da993e287894a2d12">XNvm_EfusePufHdAddr::EnvMonitorDis</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd_addr.html#aafdab2d9c2a6d6afbeb21c6b6d253203">XNvm_EfusePufHdAddr::PrgmPufHelperData</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fcad266d3a6d6afe7285781c476aa586575">XNVM_EFUSE_ERR_FUSE_PROTECTED</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca28f2ce2494dda5db9650cfb6a0d1f7fe">XNVM_EFUSE_ERR_WRITE_PUF_AUX</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fcaedce51882be9919700e45a3ab5c1eec8">XNVM_EFUSE_ERR_WRITE_PUF_CHASH</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fcabae15d0926809cb3804579dea961e4ee">XNVM_EFUSE_ERR_WRITE_PUF_HELPER_DATA</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca107930798ea8a811da851ef48f4fba32">XNVM_EFUSE_ERR_WRITE_PUF_SYN_DATA</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aa1cfe4bfb939b5109fbd2a137f1fcadaf">XNVM_EFUSE_ERR_WRITE_RO_SWAP</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gac098113c35ee3bd002d2ba7c1e7db74e">XNVM_EFUSE_SEC_DEF_VAL_ALL_BIT_SET</a>, <a class="el" href="group__xnvm__versal__net__api__ids.html#ga51762cb7925471e499cb19ff551039d7">XNvm_EfuseIsPufHelperDataEmpty()</a>, <a class="el" href="group__xnvm__util__apis.html#ga0b8d44122a9957c29ed1be2574a53aed">XNvm_EfuseReadReg()</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="gac6d13e9abcbed3286ccda15361a4168a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWritePufSecCtrl </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>PufCtrlBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs Puf control bits specified by user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">PufCtrlBits</td><td>- PufCtrlBits input to be programmed</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On success.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM Invalid parameter.</li>
<li>XNVM_EFUSE_ERR_WRITE_PUF_REGEN_DIS Error while writing PUF_REGEN_DIS.</li>
<li>XNVM_EFUSE_ERR_WRITE_PUF_HD_INVLD Error while writing PUF_HD_INVLD.</li>
<li>XNVM_EFUSE_ERR_WRITE_PUF_SYN_LK Error while writing PUF_SYN_LK.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid input parameter.</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Perform Environmental monitoring checks.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aafcfebaaed17c52382ab7b1420d8f7381">XNVM_EFUSE_ERR_WRITE_PUF_SEC_CTRL_BITS</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga9a082358f66542e6dadc3c622b552870">XNVM_EFUSE_PROGRAM_VERIFY</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gacb1f07d8ce30f924e03be7eae6e6f50e">XNVM_EFUSE_PUF_CTRL_PUF_HD_INVLD_MASK</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga1bf9c13eec59cb17ab8da5976e4b58bb">XNVM_EFUSE_PUF_CTRL_PUF_REGEN_DIS_MASK</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga58386dcea40091c3210dc2bdb40bd600">XNVM_EFUSE_PUF_CTRL_PUF_REGIS_DIS_MASK</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga66f5b9ce61387b401c6d89f84bf525c4">XNVM_EFUSE_PUF_SEC_CTRL_INVLD_MASK</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gac6d13e9abcbed3286ccda15361a4168a">XNvm_EfuseWritePufSecCtrl()</a>.</p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gac6d13e9abcbed3286ccda15361a4168a">XNvm_EfuseWritePufSecCtrl()</a>.</p>

</div>
</div>
<a class="anchor" id="gacdba7ab23e8c853bedc9896a4bd6de71"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteRevocationID </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>RevokeIdNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function writes Revocation eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">RevokeIdNum</td><td>- RevokeId number to program Revocation Id eFuses.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write to eFuse.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_LOCK Error while Locking the controller.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Example: If the revoke id to program is 64, it will program the 0th bit of the REVOCATION_ID_2 eFuse row. </dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM, if input parameters are invalid.</p>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse controller. Return appropriate error code upon failure.</p>
<p>Compute start column and row offset values.</p>
<p>Calculate the Row and Column numbers based on the revoke id number input provided.</p>
<p>Program revocation Ids data. Return XNVM_EFUSE_ERR_WRITE_REVOCATION_IDS upon failure.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xnvm__efuse__server__apis.html#ga782be7b59f184a6e84c40983d956360f">XNVM_EFUSE_BITS_IN_A_BYTE</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9699e3c65233ddaa7ba7619cb9608635">XNVM_EFUSE_ERR_WRITE_REVOCATION_IDS</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga9a082358f66542e6dadc3c622b552870">XNVM_EFUSE_PROGRAM_VERIFY</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga9ba241e36c252f80eb67d4f07c14c36a">XNVM_EFUSE_REVOKE_ID_127</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>, and <a class="el" href="versal__gen_2versal_2server_2xnvm__efuse_8h.html#a796a382bfe9b1db5b6d9ac7c37d5b3cf">XNVM_MAX_REVOKE_ID_FUSES</a>.</p>

</div>
</div>
<a class="anchor" id="ga4fa477e5473cdcf0220dad1b33ed9a39"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteRevocationId </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>RevokeId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XSysMonPsv *&#160;</td>
          <td class="paramname"><em>SysMonInstPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function writes Revocation eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">RevokeId</td><td>- RevokeId number to program Revocation Id eFuses. </td></tr>
    <tr><td class="paramname">SysMonInstPtr</td><td>- Pointer to the XSysMonPsv structure which contains XSysmonPsv driver instance data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write to eFuse.</li>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid Parameter.</li>
<li>XNVM_EFUSE_ERR_LOCK Error while Locking the controller.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Example: If the revoke id to program is 64, it will program the 0th bit of the REVOCATION_ID_2 eFuse row. </dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Calculate the REVOCATION_ID eFuse row and the column based on the input provided.</p>
<p>Fill the XNvm_EfuseRevokeIds structure with the calculated inputs and fill the <a class="el" href="struct_x_nvm___efuse_data.html" title="This structure defines sub structures of Versal eFuses to be blown. ">XNvm_EfuseData</a> global structure with the XNvm_EfuseRevokeIds and call XNvm_EfuseWrite API. Return the Status.</p>
<p>NULL for SysMonInstPtr indicates, no need to check for Temparature and Voltage before eFUSE programming. Non-NULL indicates, perform Temp and Volt monitoring.</p>

<p>References <a class="el" href="struct_x_nvm___efuse_data.html#a56cf00130abbe5a1a24c2540f1f1d07d">XNvm_EfuseData::EnvMonitorDis</a>, <a class="el" href="struct_x_nvm___efuse_data.html#aa5b39fcba9da9972e4c88c239709e68f">XNvm_EfuseData::RevokeIds</a>, <a class="el" href="struct_x_nvm___efuse_data.html#a9a4f3c5af3102245a63c8f5f25acf4de">XNvm_EfuseData::SysMonInstPtr</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#gaefb1c21b807d6bb2cd0725d0bdc473af">XNvm_EfuseWrite()</a>, and <a class="el" href="versal__gen_2versal_2server_2xnvm__efuse_8h.html#a796a382bfe9b1db5b6d9ac7c37d5b3cf">XNVM_MAX_REVOKE_ID_FUSES</a>.</p>

</div>
</div>
<a class="anchor" id="ga128ed057d23449dc1229ae0371bdbfc7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteRomRsvdBits </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>RomRsvdBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs ROM Rsvd Bits eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">RomRsvdBits</td><td>- RomRsvdBits to be programmed to RomRsvd eFUSE bits</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write.</li>
<li>XNVM_EFUSE_ERR_WRITE_ROM_RSVD Error while writing ROM Rsvd eFuse bits.</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming. </li>
</ul>
</dd></dl>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Compute programmable data for RomRsvd data.</p>
<p>Program and verify RomRsvdBits.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aa29820d6d903178faf158931693bab556">XNVM_EFUSE_ERR_WRITE_ROM_RSVD_BITS</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="ga694dd3629494a12171684e87cd7c4b9f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteSecCtrlBits </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>SecCtrlBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs SecCtrl eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">SecCtrlBits</td><td>- SecCtrl data to be written to eFuses.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write.</li>
<li>XNVM_EFUSE_ERR_WRITE_SEC_CTRL_BITS Error while writing SecCtrlBits</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming. </li>
</ul>
</dd></dl>
<p>Perform Environmental monitoring checks.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Compute secure control programmable bits to program.</p>
<p>Program and verify security controls bits. Return XNVM_EFUSE_ERR_WRITE_SEC_CTRL_BITS upon failure.</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aae67e8c981e6e32b2e6ca93311e5f6bad">XNVM_EFUSE_ERR_WRITE_SEC_CTRL_BITS</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9e5e2abc14f75b9dc43d03284af58ade"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteUds </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XNvm_Uds *&#160;</td>
          <td class="paramname"><em>EfuseUds</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function programs UDS eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EnvDisFlag</td><td>- Environmental monitoring flag set by the user, when set to true it will not check for voltage and temperature limits. </td></tr>
    <tr><td class="paramname">EfuseUds</td><td>- Pointer to the XNvm_Uds structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On successful write.</li>
<li>XNVM_EFUSE_ERR_WRITE_UDS On failure in UDS write.<ul>
<li>XNVM_EFUSE_ERR_INVALID_PARAM On Invalid input parameter.</li>
</ul>
</li>
<li>XNVM_EFUSE_ERR_BEFORE_PROGRAMMING Error before programming. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>Perform environmental monitoring checks.</p>
<p>Unlock eFuse Controller. Return appropriate error code if not success.</p>
<p>Read security ctrl efuse cache register and check if UDS_WR_LK is programmed. If yes, return XNVM_EFUSE_ERR_BEFORE_PROGRAMMING else proceed for UDS programming.</p>
<p>Program and verify UDS data.</p>
<p>Reload cache and check protection bits.</p>
<p>Calculate CRC for UDS data.</p>
<p>Check UDS Crc. Return XNVM_EFUSE_ERR_WRITE_UDS upon failure</p>
<p>Lock eFuse controller.</p>

<p>References <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca91e4b12e40ef1fd3a78d16279d51d2d0">XNVM_EFUSE_ERR_BEFORE_PROGRAMMING</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fcad266d3a6d6afe7285781c476aa586575">XNVM_EFUSE_ERR_FUSE_PROTECTED</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca9a62e9c5d07c9b4e2dd2c350275e632b">XNVM_EFUSE_ERR_INVALID_PARAM</a>, <a class="el" href="group__xilnvm__versal__net__common__error__codes.html#gga30215236c6d8dc87857fb0cee99c658aa411ff2ea6e75095af927d7dc8d15a0a3">XNVM_EFUSE_ERR_WRITE_UDS</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga626bd515d5b319991d9b6b337ac3eafaa18b6311160df31960b4fd35561b2628c">XNVM_EFUSE_MARGIN_RD</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ggaf5262e07dfefff15534093f7f3d24fdea208c82bd3ed32e751519ef6d637945f4">XNVM_EFUSE_MODE_PGM</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#gga545e370d65dd5455a7292c721c9bd578a4331fac23f7b2fc9210f52578aca0873">XNVM_EFUSE_PAGE_0</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga789eeeb22e890f0b72f2968e4368ffe7">XNVM_EFUSE_SKIP_VERIFY</a>, <a class="el" href="group__xnvm__util__apis.html#ga43a467daea1ce3c434d0c01e3657c0a9">XNvm_EfuseCheckAesKeyCrc()</a>, <a class="el" href="group__xnvm__util__apis.html#ga0b8d44122a9957c29ed1be2574a53aed">XNvm_EfuseReadReg()</a>, <a class="el" href="group__xnvm__util__apis.html#ga4e019d9cd1db1fc71ae3b17f615eb8a3">XNvm_EfuseSetupController()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<a class="anchor" id="ga26145c29a3bf9f92c4cee3878a4abef2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteUserFuses </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_nvm___efuse_user_data.html">XNvm_EfuseUserData</a> *&#160;</td>
          <td class="paramname"><em>WriteUserFuses</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XSysMonPsv *&#160;</td>
          <td class="paramname"><em>SysMonInstPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function Programs User eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">WriteUserFuses</td><td>- Pointer to the <a class="el" href="struct_x_nvm___efuse_user_data.html" title="user efuses details ">XNvm_EfuseUserData</a> structure. </td></tr>
    <tr><td class="paramname">SysMonInstPtr</td><td>- Pointer to the XSysMonPsv structure which contains XSysmonPsv driver instance data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If programming is successful.</li>
<li>XNVM_EFUSE_ERR_NTHG_TO_BE_PROGRAMMED If NULL request is sent. </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XNVM_EFUSE_ERR_INVALID_PARAM if input parameters are invalid.</p>
<p>NULL for SysMonInstPtr indicates, no need to check for Temparature and Voltage before eFUSE programming. Non-NULL indicates, perform Temp and Volt monitoring.</p>
<p>Fill the <a class="el" href="struct_x_nvm___efuse_data.html" title="This structure defines sub structures of Versal eFuses to be blown. ">XNvm_EfuseData</a> global structure with the user provided WriteUserFuses and call XNvm_EfuseWrite API. Return the XST_SUCCESS.</p>

<p>References <a class="el" href="struct_x_nvm___efuse_data.html#a56cf00130abbe5a1a24c2540f1f1d07d">XNvm_EfuseData::EnvMonitorDis</a>, <a class="el" href="struct_x_nvm___efuse_data.html#a9a4f3c5af3102245a63c8f5f25acf4de">XNvm_EfuseData::SysMonInstPtr</a>, <a class="el" href="struct_x_nvm___efuse_data.html#ac4074f3afc3b16a7fa461b72647c46af">XNvm_EfuseData::UserFuses</a>, <a class="el" href="group__xilnvm__error__codes.html#gga00c7dbe244969a974957cec19d29f1fca3a9a956a04c34687c49520e2646fefca">XNVM_EFUSE_ERR_NTHG_TO_BE_PROGRAMMED</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaefb1c21b807d6bb2cd0725d0bdc473af">XNvm_EfuseWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="gac3c8a8519db111050a86072af33a7f9d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XNvm_GetSysmonSupplyRegId </td>
          <td>(</td>
          <td class="paramtype">UINTPTR&#160;</td>
          <td class="paramname"><em>SysmonpsvSatBaseAddr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reads root register ID where measurement is stored in Root SysMon. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SysmonpsvSatBaseAddr</td><td>- Pointer to SysMon base address</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>On Success Reads and returns SupplyReg Id On Failure Returns default SupplyReg value </dd></dl>

<p>References <a class="el" href="xnvm__efuse__common_8c.html#ac098113c35ee3bd002d2ba7c1e7db74e">XNVM_EFUSE_SEC_DEF_VAL_ALL_BIT_SET</a>, <a class="el" href="xnvm__efuse__common_8c.html#a43be5c3424b5e1df2cc040e69447292b">XNVM_EFUSE_SYSMON_NUM_MEASURE_REGS</a>, <a class="el" href="xnvm__efuse__common_8c.html#a93915a19e1bccc48bbc4e9d6fef6c379">XNVM_EFUSE_SYSMON_VCCPMC_ABUS_SW0</a>, <a class="el" href="xnvm__efuse__common_8c.html#ada30b94ac5b0e038f2689e45f26c296b">XNVM_EFUSE_SYSMON_VCCPMC_ABUS_SW1</a>, <a class="el" href="xnvm__efuse__common_8c.html#ab9172ab3c395b1c87cc6c243eb5b5e41">XNVM_EFUSE_SYSMON_VCCPMC_AMUX_CTRL</a>, <a class="el" href="xnvm__efuse__common_8c.html#a4eddd347eb370c94797d1b0074f95e99">XNVM_EFUSE_SYSMON_VCCPMC_MODE</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#ga187d1e419e66b1ba10a3a73debd9904d">XNVM_EFUSE_WORD_LEN</a>.</p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gaf8c865ce6cd02be72da8d08eae8f6030">XNvm_EfuseTempAndVoltChecks()</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="gab4af75acb4eb6ea72944e7a099adf4bf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XNvm_EfusePrgmInfo::ColEnd</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>End column number of eFuse. </p>

</div>
</div>
<a class="anchor" id="gafc6cc9c3e733a22e50aef708dca1607b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XNvm_EfusePrgmInfo::ColStart</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Start column number of eFuse. </p>

</div>
</div>
<a class="anchor" id="ga984eb1f8a2c7387d35fc43cd47d37f78"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__xnvm__efuse__server__apis.html#ga545e370d65dd5455a7292c721c9bd578">XNvm_EfuseType</a> XNvm_EfusePrgmInfo::EfuseType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Efuse page number. </p>

</div>
</div>
<a class="anchor" id="ga257cabf7f1cf9b214c71857d8c7cc62b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XNvm_EfusePrgmInfo::NumOfRows</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of rows of eFuse. </p>

</div>
</div>
<a class="anchor" id="gaedd98d5cf2455d9977bf91b949486f5d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XNvm_EfusePrgmInfo::SkipVerify</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flag to check if eFuse bit should be verified after programming. </p>

</div>
</div>
<a class="anchor" id="gabc08be527304a3abd02f49e411c2dee9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XNvm_EfusePrgmInfo::StartRow</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Start row number of eFuse. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
